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
230
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
84
if let temporary scopeについて
skanehira
0
190
Findy感謝祭2024 LT
skanehira
0
130
Rustではじめる負荷試験
skanehira
6
2k
Wellcome Vim World
skanehira
3
640
VimConf 2023 Tiny
skanehira
1
730
Deno Fest 2023
skanehira
0
250
RustでWasm Runtimeを書いた in WebAssembly night #11
skanehira
0
840
RustでWasm Runtimeを書いた in UV_Study
skanehira
1
470
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Bash Introduction
62gerente
614
210k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Visualization
eitanlees
146
16k
Designing Experiences People Love
moore
142
24k
Building Applications with DynamoDB
mza
95
6.5k
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'ͷύʔαʔ࣮ͯ͠ຊͷଓ͖Λ͍͖͍ͬͯͨ