2013-03-07 79 views
0

运行我的应用程序时,我得到以下错误:在my_app.exe在0x0132113D 未处理的异常:0000005:访问冲突在0xCDCDCDCD读书时,未处理的异常...访问冲突运行在C++ Kinect的应用

事情是:它为我工作一次。该代码不是来自我的,它可以在开发该代码的开发人员的机器上正常工作。

该应用程序的功能是使用插入USB端口的Kinect并跟踪动作。 线程有问题吗? USB端口?我真的不确定它是什么。 它编译完美。

堆栈跟踪是德语,但你应该能够阅读它。谢谢!

 
my_app.exe!boost::intrusive_ptr::intrusive_ptr(const boost::intrusive_ptr & rhs) Zeile 91 C++ 
    my_app.exe!boost::thread::get_thread_info() Zeile 419 C++ 
    my_app.exe!boost::thread::get_id() Zeile 323 C++ 
    my_app.exe!boost::thread::join() Zeile 746 C++ 
    my_app.exe!IModality::stop() Zeile 153 C++ 
    my_app.exe!NUIEventManager::stop() Zeile 167 C++ 
    my_app.exe!main(int argc, char * * argv) Zeile 84 C++ 
    my_app.exe!__tmainCRTStartup() Zeile 536 C 
    my_app.exe!mainCRTStartup() Zeile 377 C 
    kernel32.dll!764f33aa() Unbekannt 
    [Unten angegebene Rahmen sind möglicherweise nicht korrekt und/oder fehlen, keine Symbole geladen für kernel32.dll] 
    ntdll.dll!771a9ef2() Unbekannt 
    ntdll.dll!771a9ec5() Unbekannt 
+4

十六进制值0xCD通常用于未初始化的内存。这意味着代码中可能存在未初始化的指针。您应该查看堆栈跟踪中提到的函数,以确保所有指针都已初始化。 – 2013-03-07 10:25:27

+3

除非你有代码,否则我们在这里可以为你做的不多。 – 2013-03-07 10:26:14

回答

1

0000005:访问冲突在0xCDCDCDCD

阅读

,而你是从一个指针是未初始化的阅读。 0xCDCDCDCD由调试器/编译器(Visual Studio?)填写以确保您注意到这一事实。有很多可以识别的magic numbers。有人忘了初始化一个指针。您需要检查代码才能找到该错误。 “在我的机器上工作”不是对优秀软件的测试。它始终在开发人员机器上工作。

+1

谢谢。我对C++调试相当陌生,你认为找到这个错误的好方法是什么?设置断点?我试图使用断点,我发现行 m_thread-> join(); 代码崩溃。 – 2013-03-07 10:30:15

+1

m_thread似乎是一个指针。它具有值0xCDCDCDCD吗?也许这就是你的bug,也许m_thread从未初始化。 – nvoigt 2013-03-07 10:34:57

+0

可悲的不是。这很奇怪,现在我得到一个 在my_app.exe 0x60431770未处理的异常:0xC0000005:访问冲突(参数:0x00000008) – 2013-03-07 10:40:37

相关问题