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
0
2
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.7k
Wellcome Vim World
skanehira
3
630
VimConf 2023 Tiny
skanehira
1
690
Deno Fest 2023
skanehira
0
210
RustでWasm Runtimeを書いた in WebAssembly night #11
skanehira
0
780
RustでWasm Runtimeを書いた in UV_Study
skanehira
1
450
New Docker Compose
skanehira
5
1.3k
Vim/NeovimでGitHubを使う
skanehira
0
160
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Code Review Best Practice
trishagee
65
17k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
570
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
113
50k
Testing 201, or: Great Expectations
jmmastey
41
7.2k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Documentation Writing (for coders)
carmenintech
67
4.5k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
3
360
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'ͷύʔαʔ࣮ͯ͠ຊͷଓ͖Λ͍͖͍ͬͯͨ