如果我写windows程序,并且用MSVC调试程序,那么通常我都会在Debug 的Watch window中保留一个这样的监视项 "@err,hr" .可以即时的显示当前的GetLastError值已经对应的字符串解释.非常的好用. 这个东西我一直都当做是vc的一个技巧来使用(也不记得是怎么学来的,好像是看某人调试的时候偷学的). 并没有继续寻找其它类似的监视项.今天突然心血来潮,在网上找了找,又有收获^_^
整的假寄存器列表:
@ERR
最后错误值; 和GetLastError() API 函数一致
@TIB
当前线程信息; 在调试器无法处理”FS:0”格式的时候是必要的
@CLK
未列入文档的寄存器; 只是在Watch窗口适用
@EAX, @EBX, @ECX, @EDX, @ESI, @EDI, @EIP, @ESP, @EBP, @EFL
Intel CPU 寄存器
@CS, @DS, @ES, @SS, @FS, @GS
Intel CPU 段寄存器
@ST0, @ST1, @ST2, @ST3, @ST4, @ST5, @ST6, @ST7
Intel CPU 浮点寄存器
其中@TIB很有用,可以用在多线程调试的时候作为断点的条件变量.这样就可以只观察一个线程的执行情况.