相关疑难解决方法(0)

自动化GDB调试会话的最佳方法是什么?

GDB是否有内置的脚本机制,我应该编写一个期望脚本,还是有更好的解决方案?

我每次都会发送相同的命令序列,我会将每个命令的输出保存到文件中(最有可能使用GDB的内置日志记录机制,除非有人有更好的想法).

scripting automation gdb expect

64
推荐指数
3
解决办法
7万
查看次数

42
推荐指数
3
解决办法
6万
查看次数

Heisenbug:WinApi程序在某些计算机上崩溃

请帮忙!我真的很有智慧.我的程序是一个小的个人笔记管理器(google为"cintanotes").在某些计算机上(当然我没有它们),它在启动后就会出现未处理的异常.除了他们倾向于拥有AMD CPU之外,没有任何关于这些计算机的特别之处.

环境:Windows XP,Visual C++ 2005/2008,原始WinApi.

以下是"Heisenbug"的确定内容:

1)崩溃只发生在Release版本中.

2)一旦删除所有与GDI相关的东西,崩溃就会消失.

3)BoundChecker没有抱怨.

4)编写日志表明崩溃发生在本地int变量的声明中!怎么会这样?内存腐败?

任何想法将不胜感激!

更新:我设法在"有故障"的PC上调试应用程序.结果:

"CintaNotes.exe中0x0044a26a处的未处理异常:0xC000001D:非法指令."

和代码中断

0044A26A cvtsi2sd xmm1,dword ptr [esp + 14h]

所以似乎问题出现在"代码生成/启用增强指令集"编译器选项中.它设置为"/ arch:SSE2"并且在不支持SSE2的计算机上崩溃.我已将此选项设置为"未设置",并且错误消失了.唷!

非常感谢大家的帮助!!

c++ crash debugging winapi gdi

9
推荐指数
2
解决办法
2091
查看次数

标签 统计

c++ ×2

automation ×1

crash ×1

crash-dumps ×1

debugging ×1

expect ×1

gdb ×1

gdi ×1

scripting ×1

visual-c++ ×1

winapi ×1

windbg ×1