【发布时间】:2012-11-06 15:27:50
【问题描述】:
我对编写 Windows 调试器的可用信息如此之少感到非常不满。
我的大部分代码都是经过漫长的试错过程制作的,文档显然“认为”大多数主题过于琐碎,同时详细解释了明显和无用的东西。
我找到了 2 篇左右的文章,但没有多少我不知道的东西从中出来。
是否有任何文档,我的意思是完整的文档,或者一些关于调试器的好文章(不是如何在 vb.NET 中将字节更改为 0xCC,而是现实世界的东西)?带有内存断点的高级调试器。
目前我还没有找到方法,例如如何找出在 GUARD_PAGE_VIOLATION 中写入了多少字节。我只是在代码执行前后做了一个缓冲区并进行比较。
在哪里可以找到debug_event.u.Exception.ExceptionRecord.ExceptionInformation 中的信息? (以及 debug_event 中的其他内容)
我真的必须自己来反转倒车环境吗?
【问题讨论】:
-
我很确定你不会找到任何东西。调试器和内核之间的交互是模糊不清的,甚至对 MS 本身来说也是如此。
-
DEBUG_EVENT 在 MSDN 官方描述在这里:msdn.microsoft.com/en-us/library/windows/desktop/…。一些不错的文章在这里:codeproject.com/Articles/132742/Writing-Windows-Debugger-Part-2 和这里:devonstrawntech.tumblr.com/post/15878429193/…
-
@SimonMourier 将其作为答案发布,第二个链接包含大量信息,谢谢 :)