编写调试器

10

我非常不满意目前对Windows调试器的相关信息太少。

我拥有的大部分代码都是通过漫长的试错过程制作而成的,文档显然认为大多数主题都太琐碎了,同时详细解释明显无用的事情。

我找到了两篇关于它的文章,但并没有什么我不知道的东西。

是否有任何完整的文档,我是指完整的文档,或一些好的文章(不是如何在vb.NET中将一个字节更改为0xCC,而是真正的世界级别的东西)关于调试器?具有内存断点的高级调试器。

目前我还没有找到例如如何找出在GUARD_PAGE_VIOLATION中写入了多少字节的方法。 我只是在代码执行前后创建缓冲区并进行比较。

还有,哪里可以找到有关debug_event.u.Exception.ExceptionRecord.ExceptionInformation中包含的信息的信息? (debug_event中包含的其他东西)

我真的需要自己反转反转环境吗?


4
我很确定你找不到任何东西。即使对于微软自己来说,调试器和内核之间的交互也很模糊和不清楚。 - Kirill Kobelev
1
DEBUG_EVENT在MSDN上有官方描述,链接在这里:http://msdn.microsoft.com/en-us/library/windows/desktop/ms679308(v=vs.85).aspx。一些不错的文章在这里:http://www.codeproject.com/Articles/132742/Writing-Windows-Debugger-Part-2和这里:http://devonstrawntech.tumblr.com/post/15878429193/how-to-write-a-windows-debugger-references - Simon Mourier
@SimonMourier 把它作为一个答案发布,第二个链接有大量的信息,谢谢 :) - n00b
2个回答

9

2

您可以在Windows SDK中找到“旧”的但好的示例: 请查看:.\Program Files\Microsoft SDKs\Windows\v7.1\Samples\winbase\debug\

debbughandler演示了如何处理异常。


由于您无法添加注释,请尝试包含一些来源和/或其他示例。 - JSuar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接