Reputation: 4853
Recently after doing a clean install of Windows 10 Pro on my computer, I noticed that whenever I break my program and open the call stack, the call stack shows the application name and line numbers, but the function name is displayed as <Unknown function>
. The call stack can be navigated as usual, but the missing function names are very annoying.
I've tried the following:
Even creating a new Win32 C++ console application from the default template and breaking on the return 0;
nets <Unknown function>
's in the call stack.
How would I make the call stack display the correct function names?
Upvotes: 3
Views: 2654
Reputation: 4853
The problem turned out to be the missing cppdebug.dll
and cppdebug.vsdconfig
from the Common7\Packages\Debugger
, as Patrick suspected. Visual Studio unfortunately gives no indication of them missing being a problem and reinstalling or repairing the installation doesn't help either. Fortunately, I was able to obtain those files through other means.
Placing the files equivalent to your Visual Studio version fixes the problem.
cppdebug.dll
and cppdebug.vsdconfig
for different Visual Studio versions:
Upvotes: 0
Reputation: 3170
This error message means the component of the debugger which formats the text for C++ stack frames is failing. I've seen this happen when the installer leaves Visual Studio with mismatching binaries. Here are things I would try:
First make sure this isn't being caused by a faulty extension by running VS in safe mode via devenv.exe /safemode
see Visual Studio Command Line Switches.
Uninstall any VS extensions, then uninstall VS and make sure all files are deleted from C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Packages\Debugger
(may need to change the path if you installed VS somewhere else), then try reinstalling.
If that doesn't fix it, then you may have a problem with your Windows install. You can try running depends.exe
on cppdebug.dll
and see if you can determine which dependency is missing.
Upvotes: 2