2011-11-05 9 views
5

C'è un modo per utilizzare un callstack .NET utilizzando C++ nativo?
Ho letto che dbgHelp gestisce solo i frame nativi.
Inoltre, ho provato a trovare informazioni su come è stato creato il callstack .NET ma non ho trovato nulla.
Qualcuno conosce un collegamento per questo?Camminare su un callstack .NET utilizzando C++ nativo

risposta

1

DbgHelp gestisce solo frame nativi, ma lo standard Managed Debugging API è in realtà un'API nativa (naturalmente, poiché non è possibile utilizzare il codice gestito per eseguire il debug quando il runtime gestito viene arrestato in corrispondenza di un punto di interruzione).

E here 's un campione.

Di particolare interesse sarà lo ICorDebugStackWalk interface.

+0

Ok, quindi posso utilizzare questo da un programma C++ senza il sovraccarico di passare dal codice non gestito a gestito, giusto? Penso che proverò a utilizzare questo http://msdn.microsoft.com/en-us/library/ms233401(v=VS.80).aspx poiché è supportato anche nel framework 2 :) – Idov