2008-10-17 10 views
1

J'ai récemment entendu parler de la fonction CaptureStackBackTrace en lisant this post. Je ne peux pas le trouver dans aucun de mes fichiers d'en-tête Visual Studio 2005 cependant, et je devine (à partir de l'URL MSDN qui mentionne VS.85) que cela peut seulement être une chose Visual Studio 2008.CaptureStackBackTrace sur Visual Studio 2005

Existe-t-il un moyen, peut-être en trouvant manuellement le point d'entrée dans une DLL système quelque part, pour obtenir cette fonction sous Visual Studio 2005?

Répondre

1

Avez-vous mis à jour votre SDK Windows vers la version la plus récente? Comme il s'agit d'une fonction Windows API, elle devrait être incluse ici.

+0

donc la mise à jour de votre travail ne SDK? – Nick

+1

Je suppose, puisqu'il a accepté ma réponse;) – OregonGhost

3

Remarques

La fonction CaptureStackBackTrace est définie comme étant la fonction RtlCaptureStackBackTrace. Pour plus d'informations, voir Winbase.h et Winnt.h.

3

Je ne l'ai pas mis à jour mon Windows SDK au-delà de tout ce qui vient avec Visual Studio 2005 mais j'ai trouvé que cette solution fonctionne:

typedef USHORT (WINAPI *CaptureStackBackTraceType)(__in ULONG, __in ULONG, __out PVOID*, __out_opt PULONG); 
CaptureStackBackTraceType func = (CaptureStackBackTraceType)(GetProcAddress(LoadLibrary("kernel32.dll"), "RtlCaptureStackBackTrace")); 
// Then use 'func' as if it were CaptureStackBackTrace 
Questions connexes