Possiedo uno strumento misto C#/gestito C++/non gestito C++ creato con Visual Studio 2010. Il codice è in realtà distribuito su un file .exe (lo chiamerò mybinary.exe) e un .dll (mylib.dll).Come posso ottenere Profiler molto assonnato per riconoscere i nomi delle funzioni in binario C++?
Ho impostato le impostazioni di generazione sul progetto per la DLL e l'exe per generare file PDB nelle versioni di rilascio. Mi sono assicurato che i file PDB si trovino entrambi nella stessa directory in cui si trovano exe e pdb. Ma non riesco ancora a vedere i nomi delle funzioni quando eseguo il debug di questo programma; Vedo solo indirizzi. Ecco il relativo estratto di quello che ottengo nella barra poco di stato in basso quando si seleziona il programma nella prima schermata di molto assonnato:
DBGHELP: mybinary.vshost - public symbols
C:\Users\(me)\AppData\Local\sleepy\vshost32-clr2.pdb\(long hex string)\vshost32-clr2.pdb
...
DBGHELP: No debug info for C:\myproj\mylib.dll. Searching for dbg file
DBGHELP: C:\myproj\mylib.dbg - file not found
DBGHELP: C:\myproj\dll\mylib.dbg - path not found
DBGHELP: C:\myproj\symbols\dll\mylib.dbg - path not found
SYMSRV: C:\Users\peastlund\AppData\Local\sleepy\mylib.dbg\4EF1F48B13c000\mylib.dbg not found
DBGHELP: C:\myproj\mylib.dbg - file not found
DBGHELP: C:\myproj\dll\mylib.dbg - path not found
DBGHELP: C:\myproj\symbols\dll\mylib.dbg - path not found
DBGHELP: C:\myproj\mylib.dbg - file not found
DBGHELP: C:\myproj\mylib.dll missing debug info. Searching for pdb anyway
DBGHELP: mylib - public symbols
C:\myproj\mylib.pdb - unmatched
...
DBGHELP: MOD: mybinary.vshost
...
DBGHELP: mybinary - private symbols & lines
C:\myproj\mybinary.pdb
in modo che appaia come se ci fosse un problema di corrispondenza mylib.pdb a MyLib. dll, per qualche motivo non sono chiaro su, ma noterò che non ottengo gli indirizzi corretti per le funzioni che sono da mybinary.exe. Ho un nuovo computer con tutte le installazioni recenti, quindi questo non è un problema di "alcune librerie è obsoleto".
Molto apprezzato se qualcuno può aiutare con questo!
MODIFICA: in realtà non si tratta di un codice ottimizzato. Altri profiler hanno avuto problemi con C++ ottimizzato, motivo per cui sono passato a Very Sleepy, ma in fase di test mi rendo conto ora che con Very Sleepy non riesco a ottenere nomi di funzioni anche quando compilo in modalità debug.