【问题标题】:Generating thread dump of C++ process生成 C++ 进程的线程转储
【发布时间】:2011-07-04 02:32:52
【问题描述】:

我想调试和识别 C++ 进程中的一个/一些线程中的内存泄漏。 一旦内存使用率非常高,我想获得进程的线程转储。

我知道以下命令适用于 java,'kill -3' [linux] 或 'sendsignal.exe' (http://www.latenighthacking.com/projects/2003/sendSignal/)

有什么方法可以在 Windows 上为 C++ 进程获取线程转储。

此线程是否相关: How to programmatically cause a core dump in C/C++

谢谢。

【问题讨论】:

    标签: c++ multithreading debugging memory-management memory-leaks


    【解决方案1】:

    小型转储,而不是“线程转储”。它内置于 Vista 和 Win7 的 Taskmgr.exe 中。右键单击进程选项卡中的进程,创建转储文件。所有不同的方式都是listed here

    【讨论】:

      【解决方案2】:

      您还可以使用来自 SysInternals 的 procdump 自动根据性能计数器(句柄计数、内存消耗)生成内存转储(小型转储):http://technet.microsoft.com/en-us/sysinternals/dd996900

      然后您可以在 WinDbg(或现在还可以加载内存转储的 VS2010 中)加载和分析生成的文件

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-03-07
        • 2012-12-16
        • 2010-11-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多