SYMBOL_INFOW undefiniert?
-
Hallo,
laut der MSDN gibt es für die SYMBOL_INFO Struktur auch die Unicode Variante:
http://msdn2.microsoft.com/en-us/library/ms680686.aspxAllerdings ist trotz neustem PSDK nur die SYMBOL_INFO Struktur definiert, die Unicode variante kann ich/Compiler nicht finden!
Das selbe Problem habe ich, wenn ich die IMAGEHLP_LINEW64 Struktur wie auch die
SymGetLineFromAddreW64 Funktion verwenden möchte! Nach Doku müssten dies definiert sein!Wer kann mir da helfen?
-
MSDN schrieb:
Header: Declared in DbgHelp.h.
Das wirds nich sein, oder ?
-
Es scheint tatsächlich so zu sein...
Die korrekten Header/LIbs gibt es vorerst wohl nur mit den "Debuggung Tools For Windows", die Du Dir ja aber auch runterladen kannst. Wenn Du vollständig installierst, ist dort ein SDK-Verzeichnis dabei, wo die neuesten Header/LIBs drin sind.PS: Mit welchem PSDK hast Du es denn probiert?
PPS: Um es zu verwenden musst dann nur "DBGHELP_TRANSLATE_TCHAR" definieren
-
Aha, habe schon gedacht ich bin so doof

Zu PS.: Hab mir das Microsoft
Windows Server 2003 R2 Platform SDK - March 2006 Edition gezogen.
Zu PPS.: Auch das habe ich ganz oben definiert. Aber hilft halt alles nichts, wenn es nicht im Code steht
-
PS: Meinen Artikel zu StackWalking und Ausgabe der passenden Symbole hast Du gelesen!?
http://www.codeproject.com/threads/StackWalker.aspDas kann übrigens auch bei einer Exception den Callstack ausgeben...
-
Jochen Kalmbach schrieb:
PS: Meinen Artikel zu StackWalking und Ausgabe der passenden Symbole hast Du gelesen!?
http://www.codeproject.com/threads/StackWalker.aspDas kann übrigens auch bei einer Exception den Callstack ausgeben...
Erst durch dies habe ich erfahren, dass so etwas möglich ist

Habe das auch schon einigermaßen umgesetzt:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-157905-and-highlight-is-*exception*.html
Aber könntest du mir vielleicht den Link geben? Ich habe mir das hier gezogen:
http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx
allerdings ist dort kein Ordner SDK o.ä dabei!
-
Hupps! Habe jetzt mir das Setup Programm nochmal genau angeschaut und gemerkt, dass ich eben nicht vollständig installiert hatte. Jetzt habe ich das SDK

-
Habe jetzt den alten Header mit dem neuen ausgetauscht, allerdings erhalte ich jetzt einige Fehler:
c:\programme\microsoft platform sdk for windows server 2003 r2\include\dbghelp.h(392) : error C2065: 'unknown': nichtdeklarierter Bezeichner
c:\programme\microsoft platform sdk for windows server 2003 r2\include\dbghelp.h(392) : error C3861: "__out_xcount": Bezeichner wurde nicht gefunden.
c:\programme\microsoft platform sdk for windows server 2003 r2\include\dbghelp.h(392) : error C2146: Syntaxfehler: Fehlendes ')' vor Bezeichner 'PIMAGE_DEBUG_INFORMATION'
c:\programme\microsoft platform sdk for windows server 2003 r2\include\dbghelp.h(392) : warning C4229: Anachronismus verwendet: Modifizierer der Daten werden ignoriert
c:\programme\microsoft platform sdk for windows server 2003 r2\include\dbghelp.h(392) : error C2491: 'UnmapDebugInformation': Definition von Daten für dllimport nicht zulässig
c:\programme\microsoft platform sdk for windows server 2003 r2\include\dbghelp.h(393) : error C2059: Syntaxfehler: ')'Fehlt da noch irgendetwas oder ist etwas nicht kompatibel?
-
So jetzt bin ich es noch einmal. Es läuft wenn man die betroffene Funktion auskommentiert. Allerdings kann nicht einmal die Dbghelp.dll von WinXP SP2 diese Funktionen, daher ist es sinnlos für mich dies zu verwenden.
Danke trotzdem für die Mühe und vielleicht meldet Jochen bei Microsoft, dass sie ihre Header/Libs im PSDK updaten könnten...
-
Ja, da gibt es ein Problem... mit dem aller-aller neuesten PSDK sollte es gehen (Vista).
Du kannst aber auch einfach vor dem Include der Header die entsprechenden Symbole #undef machen (diese Symbole werden nur für einen Statische Code-Analyse gebraucht).Für eine Lösung siehe das Posting von Drww Bliss (Microsoft):
http://groups.google.de/group/microsoft.public.windbg/msg/49c2616f2105fda1