c++ - 如何调试仅作为独立应用程序死锁的多线程程序

标签 c++ multithreading deadlock

我有一个使用 2 个线程的 C++ 程序。当通过 Visual Studio 运行时,该程序在调试和 Release模式下运行良好。但是,当作为独立应用程序运行时,它总是会停止。我尝试添加 printf 消息,以便可以将信息输出到屏幕,但这只是解决了我的问题。我收回消息,然后又回到原来的问题。

对于这样的问题,任何人都有任何明智的智慧之言可以分享吗?

最佳答案

您可以简单地独立运行该程序,等到它死锁,然后使用“工具”->“附加到进程...”附加 Visual Studio。

然后选择您的进程,当您连接时,按暂停。

然后您可以使用所有调试器功能并观察所有线程、堆栈和变量...

关于c++ - 如何调试仅作为独立应用程序死锁的多线程程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8361840/

相关文章:

Java线程执行器永远不会关闭?

java - 如何对 Android RxJava 多线程进行单元测试

c - 取消引用指针时的竞争条件

Java:如何读取锁定的线程转储

c++ - 使 char 函数参数为 const?

c++ - 如何从 map 调用函数?

postgresql - Postgres 9.4 在单个表上读取-修改-写入时检测到死锁

sql-server - SQL Server 2008 死锁图 executionStack 有多完整?

c++ - 如何在大型 C++ 源代码树中找到所有相互的友元?

C++ 外部对象放置