Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
build-debugger-in-rust.pdf
Search
skanehira
January 20, 2025
1
210
build-debugger-in-rust.pdf
skanehira
January 20, 2025
Tweet
Share
More Decks by skanehira
See All by skanehira
Findy感謝祭2024 LT
skanehira
0
110
Rustではじめる負荷試験
skanehira
6
1.8k
Wellcome Vim World
skanehira
3
630
VimConf 2023 Tiny
skanehira
1
700
Deno Fest 2023
skanehira
0
220
RustでWasm Runtimeを書いた in WebAssembly night #11
skanehira
0
800
RustでWasm Runtimeを書いた in UV_Study
skanehira
1
460
New Docker Compose
skanehira
5
1.3k
Vim/NeovimでGitHubを使う
skanehira
0
160
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Building an army of robots
kneath
303
45k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
What's in a price? How to price your products and services
michaelherold
244
12k
Making Projects Easy
brettharned
116
6k
GitHub's CSS Performance
jonrohan
1030
460k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Bootstrapping a Software Product
garrettdimon
PRO
306
110k
A better future with KSS
kneath
238
17k
A Philosophy of Restraint
colly
203
16k
Transcript
3VTUͰσόοΨʔΛ࣮ͯ͠Έͨ
自己紹介 ゴリラです。 株式会社テックリードという会社をやってい ます。 主にフロントエンド・バックエンドエンジニ アとして仕事しています。 好きなものはVim, Go, Rust, TypeScript,
Deno, Wasm などです。 X : https://x.com/gorilla0513 zenn : https://zenn.dev/skanehira GitHub: https://github.com/skanehira
RustでWasm Runtimeを実装する本を書いた https://zenn.dev/skanehira/books/writing-wasm-runtime-in-rust
自己紹介はこれくらいで…
本日は↓をRustでやってみた という話をします
https://github.com/skanehira/ build-debugger-in-rust
ҙ w ຊͷ༰Λ࣮͍ͯͯ͢͠ͳ͍ w ΫϨʔτ͕ͳࣗ͘લ࣮͢Δ͔͠ͳ͍෦͍ͬͯͳ͍ʢ໘ͳͷͰʜ w ྫγϯϘϧ໊ɺϑΝΠϧ໊ ߦࢦఆͰϒϨΠΫϙΠϯτΛઃఆ͢Δ w CSFBLQPJOUͱDPOUJOVF͕ಈ͘࠷ݶͷ࣮ͷΈ
ओʹͬͨΫϨʔτ w IUUQTDSBUFTJPDSBUFTOJY w ͞·͟·ͳ OJYϓϥοτϑΥʔϜ"1* -JOVYɺ%BSXJOͳͲ Λఏڙ w GPSL
QUSBDFͳͲ w IUUQTDSBUFTJPDSBUFTBEESMJOF w %8"3'σόοάใΛ࣋ͭϑΝΠϧ͔ΒΞυϨε͝ͱͷσόοάใΛऔಘ͢ ΔͨΊͷΫϩεϓϥοτϑΥʔϜϥΠϒϥϦ w ΞυϨεʹؔ࿈͢ΔϑΝΠϧ໊ɺߦ൪߸ɺ໊ؔΛऔಘ
σϞ
σόοΨʔͷ࣮dલ४උd w σόοάରͷϓϩάϥϜʢҎ߱EFCVHHFFʣΛσόοάϏϧυ w ͜ΕʹΑΓ࣮ߦόΠφϦˣͷΑ͏ʹͳΔ w %8"3'ͷใ͕Ճ͞ΕΔʢσϑΥϧτʣ w ΠϯϥΠϯԽͱ࠷దԽΛແޮʢσόοάΛ༰қʹ͢ΔͨΊʣ
σόοΨʔͷ࣮d࣮ߦ։࢝d w EFHVHHFSͰGPSLͯ͠ࢠϓϩηε Λ࡞Δ w ϓϩηεͰXBJUQJE Ͱࢠϓϩ ηεͷঢ়ଶมԽΛͭ
w ࢠϓϩηεͰQUSBDF Λ࣮ߦ w 153"$&@53"$&.&ʹΑΓϓ ϩηε͕ࢠϓϩηεΛ੍ޚͰ͖Δ Α͏ʹͳΔ w ࢠϓϩηεͰFYFDWF
Ͱ EFCVHHFFΛ࣮ߦ w ࢠϓϩηεҰ࣌ఀࢭ͢Δ w ϓϩηεͷXBJUQJE Ͱ 4*(53"1Λݕͯ͠ॲཧ͕ਐΉ σόοΨʔͷ࣮d࣮ߦ։࢝d
σόοΨʔͷ࣮d࣮ߦ։࢝d
w CSFBLQPJOUͱDPOUJOVFίϚϯυͷ࣮ σόοΨʔͷ࣮dίϚϯυೖྗd
w ࢦఆΞυϨεͷ໋ྩͷઌ಄όΠτͷ໋ྩΛ*/5 Y$$ ʹॻ͖͑Δ w QUSBDFDPOU ͰEFCVHHFFͷॲཧΛ࠶։ w $16͕*/5Λॲཧ͢ΔͱEFCVHHFF͕4*(53"1Λड৴ͯ͠Ұ࣌ఀࢭ
w EFVHHFS͕XBJUQJE ͰEFHVHHFFͷঢ়ଶ͕มΘͬͨ͜ͱΛݕ σόοΨʔͷ࣮dCSFBLQPJOUઃஔd
IUUQT[FOOEFWLTSOOCCPPLTCVJME@ZPVS@PXO@HP@EFCVHHFSWJFXFSCSFBLQPJOUNFNPSZ σόοΨʔͷ࣮dCSFBLQPJOUઃஔd
w QUSBDFSFBE ͰࢦఆΞυϨε͔ Β໋ྩʢόΠτʣΛऔಘ w EBUBY ff cYDDͰઌ಄όΠ τΛYDDʹมߋ
w QUSBDFXSJUFͰมߋ໋ͨ͠ྩΛॻ ͖͢ σόοΨʔͷ࣮dCSFBLQPJOUઃஔd
w EBUBY ff cYDDͰ͍ͬͯΔ͜ͱ σόοΨʔͷ࣮dCSFBLQPJOUઃஔd
w ΞυϨεͷ֬ೝ PCKEVNQMJOFOVNCFSTFYBNQMFTNBJOcMFTT σόοΨʔͷ࣮dCSFBLQPJOUઃஔd
σόοΨʔͷ࣮dDPOUJOVFd w QUSBDFDPOG Ͱఀࢭ͍ͯ͠Δ ࢠϓϩηεΛ࠶։ w TFMGXBJU Ͱࢠϓϩηεͷঢ়ଶม ߋΛͭ
w 4*(53"1Λݕͨ͠Β TFMGPO@CSFBLQPJOU@IJU Λ࣮ߦ
σόοΨʔͷ࣮dDPOUJOVFd w CSFBLQPJOUʹ౸ୡͨ͠ΒQD ΞυϨε ʹͳΔͷͰɺQDΛ ͭલʹͯ͠ɺͦͷΞυϨε͔Β ιʔείʔυͱߦΛग़ྗ͢Δ w TFMGMPDBUPSHFU@TPVSDF@MPDBUJP O
BEESMJOFͷ"1*
ײ w σόοΨʔͷಈ͘࠷ݶͷΈΛཧղͨ͠ w */5ͱQUSBDFͷ͜ͱগ͠Θ͔ͬͯΑ͔ͬͨ w ࠓޙϞνϕ͕͋Ε%8"3'ͷύʔαʔ࣮ͯ͠ຊͷଓ͖Λ͍͖͍ͬͯͨ