-6

我是一位经验丰富的 C/C++ 开发人员,负责接管 ac# 程序。有问题的程序运行了一段时间,然后变得无响应。我如何去找出它被锁定在哪里?

4

3 回答 3

3

If you can run it under a debugger, just break it, then look at the stack traces for all threads - especially the main thread. That should tell you where it's hanging.

于 2012-09-26T19:13:55.037 回答
1

Run the program while debugging then when it starts to hang up click pause on your IDE and see what is taking so long. Depending on the type UI of app you might want to add some threading to your application

于 2012-09-26T19:14:13.490 回答
0

如果它是一个正在运行的程序,您可以将调试器附加到它,并使用它来中断其执行,以通过查看调用堆栈来找出程序当前的位置。

如果您可以自己启动程序,则在调试器下运行程序。您可以随时中断其执行,检查其状态(特别是通过查看调用堆栈),然后继续执行。

如果您无权访问运行程序的调试器,请使用任务管理器创建程序的转储,然后通过加载转储检查 WinDbg.exe 中的转储。您可以使用 WinDbg.exe 为您提供程序当前所在位置的调用堆栈!analyze -v

于 2012-09-26T19:18:40.820 回答