Hatena::ブログ(Diary)

ペンギンの備忘録 Twitter

2017-10-08

[]Time Travel Debugging(3) 17:53 Time Travel Debugging(3)を含むブックマーク Time Travel Debugging(3)のブックマークコメント

D

C++ ConferenceのTTDのセッションの動画。ヒープ破壊のデバッグやエラーコードを追跡するデモ、今後予定されている機能の紹介、がありました。

カーネルレベルのトレースは、ユーザーモードプロセスからのカーネル呼び出しでその先までトレースするという話なのか、リモートマシンや仮想マシンに接続してカーネル全体のトレースができるのか。前者なら個人的には必要ない機能かな。

動画の方は、38:00あたりから今まで見たことないようなデバッグテクニックが使われてるので必見です。関数呼び出しの位置をクエリーするなど、TTDとLINQ、Debugger Object Modelを組み合わせるとここまで強力なことが出来るのかって感じです。Time Travel Debugging = Postmortem Live Debuggingという認識でしたが、この動画を見て覆されました。

今のところ肝心のレコーディングがWindows 10 Aniversary Update以降のしかもストアアプリインストールできないと利用できないということで実務では使えないんだけど、早く他のバージョンのOS向けにTime Travel Recorder的なものがリリースされるといいなぁ。

dx -g @$cursession.TTD.Calls("USER32!SendMessageW").Where(x => x.Parameters[1] == 0x000D)
dx -g @$cursession.TTD.Calls("kernelbase!GetLastError").Where(x => x.ReturnValue != 0)
トラックバック - http://d.hatena.ne.jp/A-penguin/20171008/1507452812