简体   繁体   English

与Visual Studio 2010中的.dll相关的错误

[英]Error associated with .dll in visual studio 2010

I am new to visual studio.I keep encountering the below error when I go to debug mode in VS. 我是Visual Studio的新手,在VS中进入调试模式时总是遇到以下错误。

'something.exe': Loaded 'C:\Windows\SysWOW64\ntdll.dll', Cannot find or open the PDB file
'something.exe': Loaded 'C:\Windows\SysWOW64\kernel32.dll', Cannot find or open the PDB file
'something.exe': Loaded 'C:\Windows\SysWOW64\KernelBase.dll', Cannot find or open the PDB file
'something.exe': Loaded 'C:\Windows\SysWOW64\msvcr100d.dll', Symbols loaded.
The program '[792] something.exe: Native' has exited with code 0 (0x0).

I have tried Tools->Options->Debugging->Symbols and checking Microsoft Symbols Server but again the problem persists as shown below 我已经尝试过工具->选项->调试->符号并检查Microsoft Symbols Server,但是问题仍然存在,如下所示

 'something.exe': Loaded 'C:\Windows\SysWOW64\ntdll.dll', Symbols loaded (source information stripped).
    'something.exe': Loaded 'C:\Windows\SysWOW64\kernel32.dll', Symbols loaded (source information stripped).
    'something.exe': Loaded 'C:\Windows\SysWOW64\KernelBase.dll', Symbols loaded (source information stripped).
    'something.exe': Loaded 'C:\Windows\SysWOW64\msvcr100d.dll', Symbols loaded (source information stripped).
    The program '[8592] something.exe: Native' has exited with code 0 (0x0)

Any help will much be appreciated. 任何帮助将不胜感激。 Regards, newbie_in 问候,newbie_in

The first four lines (in both cases) have nothing to do with your program. 前两种行(在两种情况下)都与您的程序无关。 In the first case they are saying that the debugger doesn't know anything about functions in each of the DLLs, in the second case they are saying it does. 在第一种情况下,他们说调试器对每个DLL中的功能一无所知,在第二种情况下,他们说却知道。 (That can be particularly helpful when there are callbacks from DLLs to your code). (在从DLL到您的代码的回调中,这特别有用)。

In both cases your program is running and exiting normally. 在这两种情况下,您的程序都可以运行并正常退出。

(The bit about "source information stripped" just means that Microsoft don't let debugging information with line numbers and filenames outside Microsoft. It's harmless too.) (有关“剥离源信息”的字眼仅表示Microsoft不允许在Microsoft外部使用行号和文件名调试信息。这也是无害的。)

You probably need to put a breakpoint in your code if you want to debug it. 如果要调试它,可能需要在代码中放置一个断点。

A PDB file is a program database which contains debug symbols for already compiled code. PDB文件是一个程序数据库 ,其中包含已编译代码的调试符号。 ntdll.dll , kernel32.dll and KernelBase.dll are Windows kernel DLLs, msvcr100d.dll is the Microsoft Visual 2010 (v10.0) C runtime. ntdll.dllkernel32.dllKernelBase.dll是Windows内核DLL, msvcr100d.dll是Microsoft Visual 2010(v10.0)C运行时。

Your first code block tells us, that these DLLs have no PDB file, so cannot properly be analyzed for debugging (which you should never need, so it's no problem). 你的第一个代码块告诉我们,这些DLL没有PDB文件,因此无法正确分析调试(你应该永远不需要,所以它是没有问题的)。 It's just a warning, no error, everything runs ok to the end with exit code 0. 这只是一个警告,没有错误,一切正常,直到退出代码0为止。

The second code block found these symbols, so if you should ever send your data into kernel functions, like a callback, you can find your faults. 第二个代码块找到了这些符号,因此,如果您曾经将数据发送到内核函数(如回调)中,则可以找到错误。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM