Skip to content

Instantly share code, notes, and snippets.

@cwshu
Last active June 4, 2016 17:38
Show Gist options
  • Save cwshu/d804b58ce382650a0e206523b7131bd9 to your computer and use it in GitHub Desktop.
Save cwshu/d804b58ce382650a0e206523b7131bd9 to your computer and use it in GitHub Desktop.

撰寫 valgrind tool 的文件

valgrind internal 文件

先說結論, valgrind internal 的技術文件很少, 大部份已經過舊. 最新的 valgrind internal 相關的論文是 2007 年發的, 技術文件最新且相對完整的是官方基於 valgrind 3.3 寫的技術文件(有出成書).

另外, 非官方的技術文件中有找到一篇很棒的, 是在解釋 libVEX 如何 instrument code 的 8 個步驟, 包含 native to VEX IR, VEX IR instrumentation, VEX IR to native 的過程.

朋友閱讀 2007 valgrind paper 的筆記

我跟專題隊友研究 record-replay debugger on valgrind 時留下的 slide 跟筆記.

slide 雖然是在介紹 RR on valgrind, 但中間有很大篇幅在講解 valgrind internal 中我們已經理解的部份, 應該會對初次想研究 valgrind internal 的朋友有幫助.

筆記很貼近程式碼, 是我跟隊友因為 valgrind 程式碼不易閱讀, 而在閱讀過程中留下一些幫助下次閱讀的筆記, 基本上應該只對要看程式碼的人有幫助.

我們有著墨到的部份主要是 Core/Tool Architecture, libVEX translate, Core 的 Translation Table/Cache, Scheduler, System Call Handling, Tool Interface.

valgrind 的非官方 tool 整理

Misc

挖寶區, 我也還沒看過的資料.

FOSDEM 2014/2015 有些 valgrind 相關的 talks: https://github.com/wdv4758h/notes/blob/797f11e8d09edc761f38cc72254ee6f8e53d857f/valgrind/valgrind-talks.rst


特別感謝: 專題隊友 ruinland 跟一起研究 valgrind 的朋友 wdv4758h。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment