就当是个记录吧,收藏夹多了也不好找。
以前抄过一个利用dbghelp api来进行release版调试跟踪的工具类,就是当release版exe在客户机上异常后记录堆栈,局部变量,寄存器值等的东西。突然发现一个小问题需要断点调试检查,但发现这个在挂着调试器的时候就不起作用了,google发现这篇文章:
http://www.debuginfo.com/articles/debugfilters.html
大概意思看明白了,结果文中提到的下windows api断点的部分不知道怎么做,继续google发现MSDN上有大致说明:
http://msdn.microsoft.com/en-us/library/d16ayc6z.aspx
手动添加断点的location要这样:{,,USER32.DLL}_MessageBeep@4,用起来还是比较麻烦的,因为还要涉及到api的dll中导出decorated name,不过至少是能用了,知足常乐。
PS:注意这个提到的是32bit系统下,而且调试时需要导入这些加在的系统dll的调试符号,好在发现VS2010有个Load symbols from microsoft symbol servers,虽然下载慢了点不过还是挺方便的。