c++ - 记录/监控来自应用程序的所有函数调用

标签 c++ debugging

我们正在开发的应用程序有问题。应用程序在启动时崩溃的情况很少见,大约有 100 次。当崩溃发生时,它会导致整个系统崩溃,计算机开始发出哔哔声并完全死机,唯一的恢复方法是关闭电源(我们使用的是 Windows XP)。崩溃的罕见性加上我们无法进入调试器甚至在崩溃发生时生成堆栈转储这一事实使得调试变得极其困难。

我正在寻找将所有函数调用记录到文件中的东西。这样的工具存在吗?这应该不是不可能实现的,像 VTune 这样的分析器做的事情非常相似。

我们使用的是 visual studio 2008 (C++)。

谢谢

A.B.

最佳答案

记录函数进入/退出是解决您的问题的一种低级方法。我建议使用自动调试器检测(使用图像文件执行选项下的调试器键和 regedit 或使用我在下面提供链接的包中的 gflags)并尝试重现问题直到它崩溃。此外,您可以使用脚本让可疑模块的调试器日志函数调用历史记录或收集任何其他信息。
但不知道您的应用程序的详细信息,很难提出解决方案。它是用户应用程序、服务还是驱动程序? “启动时崩溃”是什么意思 - 在 Windows 启动时或应用程序启动时?
使用这个 debugger package进行故障排除。

关于c++ - 记录/监控来自应用程序的所有函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/152097/

相关文章:

c++ - 配置 Eclipse 以构建和运行不同的应用程序

c++ - 编译错误递归链表

c++ - 两个如何将matlab中的以下行转换为c++

java - 为什么使用 "while(amount >= 0)"会导致无限 while 循环?

c - 如何调试 Pro*C 代码?

javascript - 原生 Android 浏览器的开发工具

c++ - 主要论点约定

c++ - 当使用 icpc 编译时,我得到符号 _cilk_spawn 无法解析

debugging - IDA Pro 中的内存映射类似于 OllyDbg

android - 调试绘制和引擎