Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
lldbを使ってCRubyの中を覗く
Search
Koji NAKAMURA
August 25, 2026
Technology
25
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
lldbを使ってCRubyの中を覗く
Kashiwa.rb #26
https://kashiwarb.connpass.com/event/402700/
Koji NAKAMURA
August 25, 2026
More Decks by Koji NAKAMURA
See All by Koji NAKAMURA
Lightning近況報告
kozy4324
0
340
龍昌餃子で理解するWebサーバーの並行処理モデル - 東葛.dev #9
kozy4324
1
380
Rubyで作る論理回路シミュレータの設計の話 - Kashiwa.rb #12
kozy4324
1
640
Rubyで作る論理回路シミュレータ - Shinjuku.rb #99
kozy4324
0
130
Steep導入したいRTA - Kashiwa.rb #11
kozy4324
0
250
これまで細々と作成したGemの紹介をします - Kashiwa.rb #9
kozy4324
0
320
東京Ruby会議12のお手伝いしてきた話
kozy4324
0
150
個人開発発表 LT - Shinjuku.rb #97
kozy4324
0
960
Ruby界隈を中心に2024をふりかえる - Kashiwa.rb #6
kozy4324
0
260
Other Decks in Technology
See All in Technology
Adversary Infrastructure Hunting101
disconinja
0
160
ドメインエキスパートは いかにして AI を使って プロダクト開発をするか
tatsuyashiraishi
1
220
PostgreSQL at Microsoft: Open Source, AI, & Cloud | Claire Giordano | PGConf.EU 2026
clairegiordano
0
110
日本AIベンチャーレポート2026
kentarofujii
0
250
あなたのDartコードは丸見えかもしれない ~reFlutterで暴くFlutterアプリの中身と多層防御~
zozotech
PRO
0
320
AI時代の開発はウォーターフォールに回帰する? / development-with-ai-back-to-wf
okamototakuyasr2
0
130
CSS2026:OWS研究会・招待講演「世界観を、実装する」
atsush1_sada
2
340
Snowflake でできることが増えたら、 ABAC が必要になった
kaeton
0
110
書き手が人でもAIでも正しくなる道、SREを埋め込んだDeveloper Platform / tech drivers day8
chmikata
4
790
AI時代、つくる力を自分たちの手に。 ──電通×KAG、アジャイルとAI駆動開発で挑む開発の変革
yuukiyo
3
400
クラウドエージェントの先駆け Devin。今も最先端を走る、他との違い
kinopeee
1
490
How we choose session proposals
kawaguti
PRO
1
180
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Why Our Code Smells
bkeepers
PRO
340
58k
HDC tutorial
michielstock
2
980
Joys of Absence: A Defence of Solitary Play
codingconduct
1
560
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
270
Six Lessons from altMBA
skipperchong
29
4.5k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
580
Optimizing for Happiness
mojombo
378
71k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
490
Transcript
lldbを使ってCRubyの中を覗く 2026.8.20 Kashiwa.rb #26 Koji NAKAMURA (@kozy4324)
自己紹介 Koji NAKAMURA • 𝕏: @kozy4324 • GitHub:@kozy4324 • Kashiwa.rb主催
最近 of kozy4324 • 書籍片手にCRubyソースコードリーディング
\CRubyムズカシイ/
lldb
lldb • デバッガ • LLVMプロジェクトの一部として開発されているもの ◦ GNUプロジェクトの方で開発されてるのは gdb • macOSでは標準的なデバッガ
◦ XCodeがLLVM/Clangを採用しているかららしい
via Ruby Documentation • https://docs.ruby-lang.org/en/master/contributing/building_ruby_md.html#debugging
今回のゴール • Rubyコード → ISeq を確認 • 確認した ISeq から何かしらの
CRuby コードが動いている ぞ!っていう部分の繋がりを確認する
Rubyコード
Rubyコードに対する ISeq
Rubyコードに対する ISeq
newhash • https://github.com/ruby/ruby/blob/v4.0.0/insns.def#L580-L598
opt_aset • https://github.com/ruby/ruby/blob/v4.0.0/insns.def#L1536-L1552
opt_aref • https://github.com/ruby/ruby/blob/v4.0.0/insns.def#L1516-L1534
Rubyコード → ISeq → CRuby実装 の繋がり • {} → newhash
→ rb_hash_new • h[:a] = → opt_aset → vm_opt_aset → rb_hash_aset • h[:a] → opt_aref → vm_opt_aref → rb_hash_aref
デモ
lldbで動かしてみて • Rubyコード → ISeq → CRuby実装 をなんとなく理解 • と同時に分からないことが複数一気に出てきた
◦ insns.defの見方 ◦ insns.defにある「attr bool leaf = false;」とは? ▪ LLM曰く「VMの世界から外に出うる命令」らしい??? ◦ insns.defにあるコード片?が実際にどう統合される? ◦ and more …
EOF