编写调试器 [英] Writing debuggers
问题描述
对于编写Windows调试器的信息很少,我感到非常不满意.
I am very dissatisfied at how little info is available on writing Windows debuggers.
我编写的大多数代码都是经过漫长的反复试验而制成的,文档显然认为"大多数主题过于琐碎,同时又详细解释了明显而无用的内容.
Most of the code I have was made by a long process of trial and error, the documentation obviously "thinks" most of the topics are too trivial while explaining in much detail obvious and useless things.
我发现了2篇左右的文章,但其中不多的东西我还不知道.
I found 2 articles or so on it but not much stuff I didn't already know came out of it.
是否有任何文档,我的意思是完整的文档,或一些有关调试器的好文章(不是在vb.NET中将字节更改为0xCC而是真实世界的东西)?具有内存断点的高级调试器.
Is there any documentation at all, and I mean complete documentation, or some GOOD article (not how to change a byte to 0xCC in vb.NET but real world stuff) about debuggers? Advanced debuggers with memory breakpoints.
目前,我还没有找到例如如何确定在GUARD_PAGE_VIOLATION中写入了多少字节的方法.我只是在代码执行和比较之前和之后做一个缓冲区.
For now I didn't find a way for example how to find out how many bytes were being written in a GUARD_PAGE_VIOLATION. I just make a buffer before and after the code executes and compare.
在哪里也可以找到信息 debug_event.u.Exception.ExceptionRecord.ExceptionInformation
中的内容是什么?(以及debug_event中的其他内容)
Also where to find info what lies in debug_event.u.Exception.ExceptionRecord.ExceptionInformation
? (among other things that lay in debug_event)
我真的必须自己扭转倒车环境吗?
Do I really have to reverse the reversing environment myself?
推荐答案
这确实是一些可用的信息.
This is indeed some information available.
DEBUG_EVENT(和其他Debug API的其余部分)在MSDN中的此处正式描述:
DEBUG_EVENT (and the rest of the Debug API) is officially described in MSDN here: http://msdn.microsoft.com/en-us/library/windows/desktop/ms679308(v=vs.85).aspx
有一篇不错的CodeProject文章:编写基本的Windows调试器,其续集:编写Windows调试器-第2部分
There is a nice CodeProject article: Writing a basic Windows debugger and its sequel: Writing Windows Debugger - Part 2
最后,是来自Devon Strawn的参考的完整列表:如何编写(Windows)调试器-参考
And finally, a complete list of references from Devon Strawn: How to write a (Windows) debugger - References
这篇关于编写调试器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!