ExWatcher捕捉到的信息在D2009下显示为乱码,要正常工作,需作以下修改:
1、clDbgHelp第18行:
Name: array[0..1] of Char;-> AnsiChar;
2、clExWathcer第548行:
Result := PChar(@pSymbol.Name); -> Result := PAnsiChar(@pSymbol.Name);
ExWather捕捉异常的方法见:《 在程序异常中记录堆栈信息》http://blog.csdn.net/nhconch/archive/2009/02/04/3859394.aspx
在我们编写程序的时候可通过IDE自带的调试环境捕捉到异常(Except)错误,并能查看到相关的信息以便我们修正程序中的问题。但当软件被发布出去后,因为所部署运行的环境与我们的调试环境有很大区别,即使在是调试环境中测试过非常完美的程序,也很难保证在实际运行中不出现任何错误。当程序发生错误它往往是抛出一个红叉的警告框来告诉我们它出错了......