【问题标题】:Identifying threads in VS .NET 2003识别 VS .NET 2003 中的线程
【发布时间】:2009-12-09 09:32:30
【问题描述】:

我正在使用 Visual Studio.NET 2003 将 Linux 程序转换为 Windows 程序。代码是使用 pthread 编写的。

我有一个 First-chance exception at 0x100084c8 in project.exe: 0xC0000005: Access violation reading location 0x000001dc 错误导致我的程序崩溃,但一个线程 has exited with code 0 (0x0). 一个线程 (0xfe4) 以代码 -1073741819 (0xc0000005) 退出。我读到如果线程以代码 0 退出,那么一切都很好。我猜是没有导致错误的一个线程,尤其是出现了相同的代码 0xC0000005。

由于有不同的线程组在做不同的任务,我想追踪没有正确退出的线程,以便调试程序。有没有办法识别它是哪个线程,比如使用 (0xfe4) 值?

【问题讨论】:

    标签: c visual-studio pthreads


    【解决方案1】:

    转到菜单中的Debug->Windows->Threads。

    你也可以去Debug->Exceptions...然后打开Win32 Exceptions子树,点击“c0000005 Access违规”旁边的文本框,当违规发生时它应该会中断。

    【讨论】:

      【解决方案2】:

      我发现命名线程也很有用,以便在调试器中更容易区分它们: 当您创建新线程(使用Thread 类)时,您可以设置Name 属性。在 Visual Studio 中调试时会显示此名称。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-06-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-16
        • 1970-01-01
        相关资源
        最近更新 更多