本文介绍了ntdll.dll中[以下帧可能是不正确/缺失,加载ntdll.dll中没有符号]的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

由于现在的几个星期我遇到了这种情况,它非常不安,

我的程序调试得很好,没有任何错误,当我运行程序它的初始部分
工作,几秒钟后它终止与破继续选项,并在调用堆栈时,我一看,原来,它从ntdll.dll中和msvcr100d.dll错误
这似乎是一个窗口相关的SDK的问题,这似乎是一个错误的指针了。
我已经在这个不知何故没有控制权。
我安装了Windows SDK 7.0,但似乎没有任何改变,

使用:Windows 7的64位,提升1.48,Visual Studio的编译器(完整版),openCV2.3,C ++

我已经尝试了多种选择,

如。去任务管理器,并与devenv.exe的右键,只有选择一个在设置亲和力
重新安装Windows SDK,
重新安装好几次我自己的项目。

没有帮助我,可以有人建议我一个很好的解决方案吧。

更加清晰,这里是我的调用堆栈

  ntdll.dll中!77e615de()
[相框下面可能不正确和/或缺失,没有加载ntdll.dll中的符号]
NTDLL.DLL!77e615de()
NTDLL.DLL!77e5014e()
msvcr100d.dll!_getptd_noexit()500 C线
NTDLL.DLL!77eb73bc()
NTDLL.DLL!77ea3c48()
NTDLL.DLL!77e5016e()
msvcr100d.dll!_getptd_noexit()500 C线
NTDLL.DLL!77eb74df()
NTDLL.DLL!77eb73bc()
NTDLL.DLL!77ea3c48()
NTDLL.DLL!77e5016e()
msvcr100d.dll!_getptd_noexit()500 C线
NTDLL.DLL!77eb74df()
NTDLL.DLL!77eb73bc()
NTDLL.DLL!77ea3c48()
NTDLL.DLL!77e5016e()
msvcr100d.dll!_getptd_noexit()500 C线
NTDLL.DLL!77eb74df()
NTDLL.DLL!77eb73bc()
NTDLL.DLL!77ea3c48()
KERNEL32.DLL!770012ea()
KERNEL32.DLL!77001314()
msvcr100d.dll!_getptd_noexit()500 C线
NTDLL.DLL!77eb74df()
NTDLL.DLL!77eb73bc()
NTDLL.DLL!77ea3c48()
NTDLL.DLL!77e5016e()
msvcr100d.dll!_getptd_noexit()500 C线
NTDLL.DLL!77e9b459()
NTDLL.DLL!77e9b42b()
bowExample.exe!std::_Tree<std::_Tset_traits<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128>,0> &GT; ::明确()线1415 C ++
bowExample.exe!std::_Tree<std::_Tset_traits<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128>,0> >::erase(std::_Tree_const_iterator<std::_Tree_val<std::_Tset_traits<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128>,0> &GT; &GT; _第一, std::_Tree_const_iterator<std::_Tree_val<std::_Tset_traits<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128>,0> &GT; &GT; _Last)线1383 C ++
bowExample.exe!std::_Tree<std::_Tset_traits<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128>,0> &GT; :: _整洁()行1866年+ 0x5d字节C ++
bowExample.exe!std::_Tree<std::_Tset_traits<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128>,0> >::~_Tree<std::_Tset_traits<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128>,0> &GT;()线792 C ++
bowExample.exe!std::set<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> >::~set<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> &GT;()+ 0x2B访问字节C ++
bowExample.exe!set2<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> >::~set2<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> &GT;()+ 0x63字节C ++
bowExample.exe!set2<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> &GT; ::'标量删除析构函数'()+ 0x2B访问字节C ++
bowExample.exe!boost::checked_delete<set2<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> &GT; >(set2<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> &GT; * X)线34 + 0x2B访问字节C ++
bowExample.exe!boost::scoped_ptr<set2<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> &GT; >::~scoped_ptr<set2<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> &GT; &GT;()线80 + 0XB字节C ++
!bowExample.exe bowTest(CBoWIMUParams&安培; BOWIMUPARAMS)线192 +字节0xF的C ++
bowExample.exe!主(INT ARGC,CHAR *的argv)线225 +位于0xC字节C ++
bowExample.exe!__ tmainCRTStartup()行555 +的0x19字节Ç
bowExample.exe!mainCRTStartup()线371Ç
KERNEL32.DLL!7700339a()
NTDLL.DLL!77e79ef2()
NTDLL.DLL!77e79ec5()


下面是加载符号后,调用栈

  ntdll.dll!_ZwRaiseException@12()+ 0×12字节
ntdll.dll!_ZwRaiseException@12()+ 0×12字节
msvcr100d.dll!__ getptd_noexit()+ 0xae字节bowExample.exe!std::_Tree<std::_Tset_traits<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128>,0> &GT; ::明确()线1415 C ++
bowExample.exe!std::_Tree<std::_Tset_traits<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128>,0> >::erase(std::_Tree_const_iterator<std::_Tree_val<std::_Tset_traits<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128>,0> &GT; &GT; _第一, std::_Tree_const_iterator<std::_Tree_val<std::_Tset_traits<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128>,0> &GT; &GT; _Last)线1383 C ++
bowExample.exe!std::_Tree<std::_Tset_traits<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128>,0> &GT; :: _整洁()行1866年+ 0x5d字节C ++
bowExample.exe!std::_Tree<std::_Tset_traits<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128>,0> >::~_Tree<std::_Tset_traits<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128>,0> &GT;()线792 C ++
bowExample.exe!std::set<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> >::~set<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> &GT;()+ 0x2B访问字节C ++
bowExample.exe!set2<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> >::~set2<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> &GT;()+ 0x63字节C ++
bowExample.exe!set2<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> &GT; ::'标量删除析构函数'()+ 0x2B访问字节C ++
bowExample.exe!boost::checked_delete<set2<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> &GT; >(set2<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> &GT; * X)线34 + 0x2B访问字节C ++
bowExample.exe!boost::scoped_ptr<set2<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> &GT; >::~scoped_ptr<set2<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> &GT; &GT;()线80 + 0XB字节C ++
!bowExample.exe bowTest(CBoWIMUParams&安培; BOWIMUPARAMS)线193 +字节0xF的C ++
bowExample.exe!主(INT ARGC,CHAR *的argv)线216 +位于0xC字节C ++
bowExample.exe!__ tmainCRTStartup()行555 +的0x19字节Ç
bowExample.exe!mainCRTStartup()线371Ç
KERNEL32.DLL!@ BaseThreadInitThunk @ 12()+ 0×12字节
NTDLL.DLL!___ RtlUserThreadStart @ 8()+ 0×27字节
NTDLL.DLL!__ RtlUserThreadStart @ 8()+ 0x1b字节


解决方案

右键单击堆栈行(堆栈跟踪)含ntdll.dll中并加载从Microsoft服务器调试符号(由负载符号...) ,那么堆栈跟踪可能会改变一点。重复该操作与未定义的符号每个DLL。

直到你下载你可能在寻找一个错误的堆栈跟踪。调试符号

since a few weeks now I have run into this situation and it very upsetting,

my program debugs very well, no errors, when I run the program it does the initial part of thejob, after a few seconds It terminates to a 'break continue' option, and in the call stack when I have a look, it turns out that its an error from ntdll.dll and msvcr100d.dllit seems like a windows related SDK problem, it seems like a bad pointer too.I have somehow no control over this.I installed windows SDK to 7.0 but nothing seems to change,

Using : Windows 7 64 bit, Boost 1.48, Visual studio compiler (full version), openCV2.3, c++.

I have tried many options,

eg. to go to the task manager, and with a right click on devenv.exe and selecting only one in the 'set affinity'reinstalling windows SDK,Reinstalling several times my own project.

Nothing has helped me, can some one suggest me a good solution please.

for more clarity here is my call stack

ntdll.dll!77e615de()
[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]
ntdll.dll!77e615de()
ntdll.dll!77e5014e()
msvcr100d.dll!_getptd_noexit()  Line 500    C
ntdll.dll!77eb73bc()
ntdll.dll!77ea3c48()
ntdll.dll!77e5016e()
msvcr100d.dll!_getptd_noexit()  Line 500    C
ntdll.dll!77eb74df()
ntdll.dll!77eb73bc()
ntdll.dll!77ea3c48()
ntdll.dll!77e5016e()
msvcr100d.dll!_getptd_noexit()  Line 500    C
ntdll.dll!77eb74df()
ntdll.dll!77eb73bc()
ntdll.dll!77ea3c48()
ntdll.dll!77e5016e()
msvcr100d.dll!_getptd_noexit()  Line 500    C
ntdll.dll!77eb74df()
ntdll.dll!77eb73bc()
ntdll.dll!77ea3c48()
kernel32.dll!770012ea()
kernel32.dll!77001314()
msvcr100d.dll!_getptd_noexit()  Line 500    C
ntdll.dll!77eb74df()
ntdll.dll!77eb73bc()
ntdll.dll!77ea3c48()
ntdll.dll!77e5016e()
msvcr100d.dll!_getptd_noexit()  Line 500    C
ntdll.dll!77e9b459()
ntdll.dll!77e9b42b()
bowExample.exe!std::_Tree<std::_Tset_traits<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128>,0> >::clear()  Line 1415  C++
bowExample.exe!std::_Tree<std::_Tset_traits<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128>,0> >::erase(std::_Tree_const_iterator<std::_Tree_val<std::_Tset_traits<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128>,0> > > _First, std::_Tree_const_iterator<std::_Tree_val<std::_Tset_traits<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128>,0> > > _Last)  Line 1383 C++
bowExample.exe!std::_Tree<std::_Tset_traits<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128>,0> >::_Tidy()  Line 1866 + 0x5d bytes C++
bowExample.exe!std::_Tree<std::_Tset_traits<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128>,0> >::~_Tree<std::_Tset_traits<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128>,0> >()  Line 792 C++
bowExample.exe!std::set<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> >::~set<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> >()  + 0x2b bytes   C++
bowExample.exe!set2<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> >::~set2<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> >()  + 0x63 bytes  C++
bowExample.exe!set2<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> >::`scalar deleting destructor'()  + 0x2b bytes   C++
bowExample.exe!boost::checked_delete<set2<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> > >(set2<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> > * x)  Line 34 + 0x2b bytes C++
bowExample.exe!boost::scoped_ptr<set2<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> > >::~scoped_ptr<set2<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> > >()  Line 80 + 0xb bytes  C++
bowExample.exe!bowTest(CBoWIMUParams & BOWIMUPARAMS)  Line 192 + 0xf bytes  C++
bowExample.exe!main(int argc, char * * argv)  Line 225 + 0xc bytes  C++
bowExample.exe!__tmainCRTStartup()  Line 555 + 0x19 bytes   C
bowExample.exe!mainCRTStartup()  Line 371   C
kernel32.dll!7700339a()
ntdll.dll!77e79ef2()
ntdll.dll!77e79ec5()


Here is the call stack after loading symbols

ntdll.dll!_ZwRaiseException@12()  + 0x12 bytes
ntdll.dll!_ZwRaiseException@12()  + 0x12 bytes
msvcr100d.dll!__getptd_noexit()  + 0xae bytes

bowExample.exe!std::_Tree<std::_Tset_traits<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128>,0> >::clear()  Line 1415  C++
bowExample.exe!std::_Tree<std::_Tset_traits<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128>,0> >::erase(std::_Tree_const_iterator<std::_Tree_val<std::_Tset_traits<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128>,0> > > _First, std::_Tree_const_iterator<std::_Tree_val<std::_Tset_traits<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128>,0> > > _Last)  Line 1383 C++
bowExample.exe!std::_Tree<std::_Tset_traits<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128>,0> >::_Tidy()  Line 1866 + 0x5d bytes C++
bowExample.exe!std::_Tree<std::_Tset_traits<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128>,0> >::~_Tree<std::_Tset_traits<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128>,0> >()  Line 792 C++
bowExample.exe!std::set<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> >::~set<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> >()  + 0x2b bytes   C++
bowExample.exe!set2<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> >::~set2<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> >()  + 0x63 bytes  C++
bowExample.exe!set2<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> >::`scalar deleting destructor'()  + 0x2b bytes   C++
bowExample.exe!boost::checked_delete<set2<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> > >(set2<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> > * x)  Line 34 + 0x2b bytes C++
bowExample.exe!boost::scoped_ptr<set2<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> > >::~scoped_ptr<set2<CBoWMatch<int>,CBoWMatch<int>::MatchSort,CIndividualPool_NoFree_Allocator<CBoWMatch<int>,128> > >()  Line 80 + 0xb bytes  C++
bowExample.exe!bowTest(CBoWIMUParams & BOWIMUPARAMS)  Line 193 + 0xf bytes  C++
bowExample.exe!main(int argc, char * * argv)  Line 216 + 0xc bytes  C++
bowExample.exe!__tmainCRTStartup()  Line 555 + 0x19 bytes   C
bowExample.exe!mainCRTStartup()  Line 371   C
kernel32.dll!@BaseThreadInitThunk@12()  + 0x12 bytes
ntdll.dll!___RtlUserThreadStart@8()  + 0x27 bytes
ntdll.dll!__RtlUserThreadStart@8()  + 0x1b bytes
解决方案

Right click on the stack line (in the stack trace) containing ntdll.dll and load the debugging symbols from the Microsoft server (Load symbols from...), then the stack trace will probably change a bit. Repeat the operation for each dll with undefined symbols.

Until you download the debugging symbols you are probably looking at a wrong stack trace.

这篇关于ntdll.dll中[以下帧可能是不正确/缺失,加载ntdll.dll中没有符号]的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-02 00:56