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
240
build-debugger-in-rust.pdf
skanehira
January 20, 2025
Tweet
Share
More Decks by skanehira
See All by skanehira
about_gorilla.vim.pdf
skanehira
0
90
if let temporary scopeについて
skanehira
0
190
Findy感謝祭2024 LT
skanehira
0
130
Rustではじめる負荷試験
skanehira
6
2k
Wellcome Vim World
skanehira
3
650
VimConf 2023 Tiny
skanehira
1
750
Deno Fest 2023
skanehira
0
250
RustでWasm Runtimeを書いた in WebAssembly night #11
skanehira
0
860
RustでWasm Runtimeを書いた in UV_Study
skanehira
1
480
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
880
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
Statistics for Hackers
jakevdp
799
220k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Facilitating Awesome Meetings
lara
54
6.5k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
6k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
Mobile First: as difficult as doing things right
swwweet
223
9.9k
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'ͷύʔαʔ࣮ͯ͠ຊͷଓ͖Λ͍͖͍ͬͯͨ