c - 在 Windows 上诊断 C 应用程序崩溃的工具/技术

标签 c gcc windows-services crash

我用 C 语言编写了一个应用程序,它作为 Windows 服务运行。大多数用户可以毫无问题地运行该应用程序,但极少数用户会因访问冲突而导致崩溃,所以我知道我在某个地方存在错误。我尝试设置虚拟机来尽可能镜像用户的配置,但无法重现该问题。

我的背景是 Java - 当 Java 应用程序崩溃时,它会生成一个堆栈跟踪,准确显示问题发生的位置,但 native 应用程序没有那么有用。 C 开发人员通常使用哪些技术来追踪此类问题?我无法物理访问经历崩溃的用户计算机,但我可以发送其他工具来安装,以捕获信息。我还有 Windows 错误报告,显示异常代码/偏移量等,但这些对我来说意义不大。我已经使用 gcc 编译了我的应用程序 - 是否有一些编译器选项可以用来在发生崩溃时生成更多信息?

最佳答案

您可以尝试要求用户运行 ProcDump当程序崩溃时捕获核心转储。与使用 Visual Studio 等工具不同,它是一个简单的命令行实用程序,因此让用户运行它应该没有问题。

关于c - 在 Windows 上诊断 C 应用程序崩溃的工具/技术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3741111/

相关文章:

CUnit断言断言 `((void *)0) != f_pCurSuite'失败

c - 在C中读取unicode文件时出错

c++ - 当堆栈为空时, 'pop()'方法应该返回什么?

iphone - MGTwitterEngine 抛出错误 : g++-4. 2 失败,退出代码为 1

gcc - colorgcc 和工具链前缀

.net - 如何检测窗口是否可以显示?

c# - 如果功能没有完成,计时器会继续吗

c# - 使用 CacheToDisk 时,PDF*.tmp 文件未被删除和内存不足异常

c - fcntl Unix/Linux系统调用的全称是什么

c - UNIX 读()/写()函数