C# und COM debuggen

21/01/2008 - 09:29 von Ralf | Report spam
Hi,

ich habe eine VisualStudio 2005 Solution, die aus einem C# Applikations
Projekt und einem C++ ATL COM Projekt besteht.
Die C# Applikation ruft dabei die COM Komponente auf.
Ich möchte nun die beiden Projekte debuggen.
Dabei werden allerding die Haltepunkte in der COM Komponente vom Debugger
ignoriert, mit der Begründung das die .pdb Datei fehlt.
Was muss ich einstellen, damit er die .pdb Datei der COM Komponente findet?

Gruß
Ralf
 

Lesen sie die antworten

#1 Andre Stille
21/01/2008 - 17:23 | Warnen spam
Hallo Ralf,

"Ralf" schrieb im Newsbeitrag
news:
Hi,

ich habe eine VisualStudio 2005 Solution, die aus einem C# Applikations
Projekt und einem C++ ATL COM Projekt besteht.
Die C# Applikation ruft dabei die COM Komponente auf.
Ich möchte nun die beiden Projekte debuggen.
Dabei werden allerding die Haltepunkte in der COM Komponente vom Debugger
ignoriert, mit der Begründung das die .pdb Datei fehlt.
Was muss ich einstellen, damit er die .pdb Datei der COM Komponente
findet?




Ruf mal Debug/Windows/Modules auf und schau mal nach, ob dort native Dlls
auftauchen (wie z.B. kernel32.dll und user32.dll).

Wenn die fehlen, so ist nur der managed Debugger aktiv. Um den unmanaged
Debugger noch zu aktivieren gibts 2 Möglichkeiten:

a) Detach All/Attach to a process
Also praktisch den Debugger neu verbinden. Das kann man verwenden, wenn man
selten den unmanaged-Debugger braucht.

b) Projekteinstellungen/Debug/Enable unmanaged code debugging
Damit wird der unmanaged-Debugger jedesmal mit gestartet und man bekommt
eventuell beim ersten Mal die Meldung, dass zu der C# Applikation keine
Symbole gefunden wurden. Ist soweit auch klar, es gibt schliesslich keine
nativen Symbole für die C# Applikation.

Die PDBs werden dann über den üblichen Suchpfaden gefunden. Mit Sicherheit
funktioniert es, wenn die PDB in demselben Verzeichnis wie die COM
Komponente
liegt.

MfG
Andre Stille

Ähnliche fragen