Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Debugger Visual C++

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
29.09.2005, 18:35 Uhr
HtB



Folgender Code:


C++:

void foo() {
   int i = 1;

   MyObject inst = new MyObject(i);
}





Wenn ich dieses Codestück mit "Visual C++ 6 SP5" Debuggen will, kommt nur Mist raus. Wenn ich mit dem MIcrosoft Compiler kompilliere (DLL !), dann in der Ziele in der das object angelegt wird einen Breakpoint setze, stehen bleibe und mir den Wert von i ansehen will (Schnellüberwachung), sage der Debugger:

"CXX0017: Fehler: Symbol "i" nicht gefunden".

So, wenn ich mit dem Intel-C++-Compiler-8.0 übersetzt habe und mir den Wert von i ansehen, dann ist dieser bei 55230832.

Was mache ich falsch???

mfg
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
29.09.2005, 18:58 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
auf den ersten Blick instanzierst Du falsch MyObject* inst=...

und eigentlich sollte so etwas kommen

"MyObject(i) CXX0062: Error: constructor calls not supported" oder so ähnlich.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 29.09.2005 um 19:02 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
30.09.2005, 08:33 Uhr
ao

(Operator)



Zitat von HtB:

"CXX0017: Fehler: Symbol "i" nicht gefunden".
Was mache ich falsch???


Sind beim Kompilieren noch Optimierungen eingeschaltet? Könnte sein, dass das i wegoptimiert wird und dass der Compiler stattdessen solchen Code erzeugt:

C++:
void foo ()
{
    MyObject inst = new MyObject(1);
}

Kannst du in den MyObject-Konstruktor reindebuggen? Wenn du auf der Zeile stehst, F11 drücken.
ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
30.09.2005, 09:51 Uhr
Tommix



Hallo,
wenn Du nicht die DLL selbst im Debugger startest, sondern das aufrufende Programm, das sie benutzt, mußt Du für dieses eventuell noch folgendes einstellen:
Projekteinstellungen -> Registerkarte "Debug", dort als Kategorie "Zusätzliche DLLs" wählen und die interessierende DLL (Debug Version!) bei Module eintragen und einen Haken setzen.
Gelegentlich lassen sich solche Probleme auch beheben, indem man "Bereinigen" wählt und alles neu erstellt - warum auch immer.

Gruß, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: