BDS2006 stoppt nicht bei den Haltepunkten???



  • Hallo Leute,
    in meinem Projekt habe ich an verschiedenen Stellen Haltepunkte gesetzt. Leider bleibt das Programm an diesen Stellen NICHT stehen! Ich habe vermutlich irgend etwas an der Konfiguration verstellt? Unter Projects/Build-Config. habe ich den Debug-Modus gewählt. Aber es geht trotzdem nicht???

    Kann mir da jemand helfen?
    Danke



  • Wie sieht denn der Punkt beim Ausführen des Programms aus, grünes Häkchen drin oder hat er ein weißes Kreuz ?



  • torsten_156 schrieb:

    Unter Projects/Build-Config. habe ich den Debug-Modus gewählt.

    D.h., in der Build-Konfigurationsübersicht steht bei "Aktive Konfiguration" auch "Debug-Build"?



  • Trial schrieb:

    Wie sieht denn der Punkt beim Ausführen des Programms aus, grünes Häkchen drin oder hat er ein weißes Kreuz ?

    ...er hat ein weißes Kreuz und die Zeile ist grün hinterlegt...

    audacia schrieb:

    torsten_156 schrieb:

    Unter Projects/Build-Config. habe ich den Debug-Modus gewählt.

    D.h., in der Build-Konfigurationsübersicht steht bei "Aktive Konfiguration" auch "Debug-Build"?

    Ja. Die aktive Konfig. ist der Debug-Build.

    ???



  • Und du bist sicher, daß der entsprechende Code auch durchlaufen wird?
    In der Modulansicht (Strg+Alt+M) kannst du nachsehen, für welches Modul Debug-Informationen vorliegen.



  • Hi audacia,
    meines Erachtens ist es doch egal, ob der Code durchlaufen wird oder nicht. Wenn der Haltepunkt soweit ok währe, wird diese Zeile vom Builder doch komplett ROT eingefärbt. Bei mir ist diese Zeile GRÜN und, wie oben schon beschrieben, der Punkt links hat ein weißes Kreuz...



  • torsten_156 schrieb:

    meines Erachtens ist es doch egal, ob der Code durchlaufen wird oder nicht.

    Wenn der Code nicht benutzt wird, wird er vom Linker gar nicht erst in die Executable geschrieben - dementsprechend kannst du auch keine Haltepunkte setzen.



  • Ok. Jetzt habe ich einmal einen HP in einem Codebereich gesetzt, der beim Start des Projektes ausgeführt wird (Login an DB...).
    Auch hier ist die Zeile des HP wieder grün und er wird ignoriert!
    Gruß Torsten



  • Dann mach doch mal schnell ein "Hello world"-Projekt und teste da mal ob er anhält. Dann weißt du wenigstens ob es am Builder oder an der Projektkonfiguration liegt.



  • Hallo witte,
    ich habe jetzt mal das Berühmte "Hello World"-Projekt erstellt. Leider bleibt das Programm NICHT am HP stehen. Es ist genau so wie oben schon beschrieben 😞

    Gruß Torsten



  • Bist Du sicher, dass unter Optionen->Compiler->Fehlersuche die Häkchen bei Debug-Zeilennummern und Quelltext-Debugging drin sind ?



  • Habe ich jetzt kontrolliert! Sind beide gesetzt...

    was nun 😕 😕 😕



  • Erzähl mal ein wenig mehr über dein System.
    - Hast du Debugging-Rechte?
    - Hat der Debugger vorher auf dem Rechner schon einmal funktioniert?
    - Falls ja, seit wann tut er das nicht mehr, und was hast du in der fraglichen Zeit alles geändert?
    - Hast du in dieser Zeit auf deinem System andere C++Builder-Versionen oder andere IDEs installiert oder deinstalliert?
    - Wie oben beschrieben: ist in der Modulansicht zu sehen, daß die Debug-Information nicht geladen wurde?
    - Liegen die *.tds- und *.map Dateien im selben Verzeichnis wie die *.exe-Datei?
    - Könntest du mal den Registry-Key unter "HKEY_CURRENT_USER\Software\Borland\BDS\4.0\Debugging" in eine .reg-Datei exportieren und die hier posten?



  • Wär ja nun wirklich mal interessant, was da los war / ist...



  • Hi, sorry dass ich mich erst jetzt melde...
    Also, hier die Antworten zu den Punkten:
    - Ich bin als Admin am System angemeldet. Ich hoffe dass das die Debugging-Rechte sind
    - Der Debugger hat bei den anderen Projekten 100%ig funktioniert! Selbst bei diesem Projekt. Nur jetzt, nach längerer Zeit der Pause nicht mehr.
    - Am BDS2006 habe ich in der Zeit nichts verändert. Kann mich da an keine Änderung erinnern. Aber irgend etwas muss ja geändert worden sein???
    - installiert & deinstalliert habe ich in dieser Zeit KEINE CBuilder Versionen und auch keine anderen Entwicklungstools.
    - Die Modulansicht ist für mich neu! Wenn ich diese aufrufe und mein Projekt (Hello World) starte, erscheinen unter NAME jede menge Dateien. Als erste aber die Projekt1.exe. Dann kommen jede menge DLLs, BPLs und eine WINSPOOL.DRV
    - Die *.tds und *.exe liegen im selben Verzeichnis (debug_build\). Allerdings kann ich keine *.map-Datei finden? Auch in anderen Verzeichnissen finde ich keine *.map?
    - Und hier der REG-Key:

    Windows Registry Editor Version 5.00

    [HKEY_CURRENT_USER\Software\Borland\BDS\4.0\Debugging]
    "Hide Designers On Run"="True"
    "Minimize On Run"="False"
    "Detailed Exceptions"="False"
    "Fully Qualified Stack Frames"="1"
    "Integrated Debugging"="1"
    "DisableEdit"="0"
    "TD32Keys"="0"
    "RearrangeMenu"="0"
    "CloseIncidentalFiles"="1"
    "LogLength"=dword:00000064
    "LogUnlimited"="1"
    "LogClearOnStartup"="1"
    "LogIncludeProcessInfo"="1"
    "Use Log Colors"="1"
    "LogOptions"=dword:0000000f
    "RunParams"=""
    "HostApplication"=""
    "Launcher"=""
    "DebugCWD"=""
    "RemotePath"=""
    "RemoteHost"=""
    "RemoteParams"=""
    "RemoteLauncher"="C:\\Programme\\Internet Explorer\\IEXPLORE.EXE"
    "RemoteCWD"=""
    "UseLauncher"="0"
    "UseRemoteLauncher"="0"
    "RemoteDebug"="0"
    "LoadAllSymbols"="1"
    "LoadUnspecifiedSymbols"="0"
    "Debug Symbols Search Path"=""

    [HKEY_CURRENT_USER\Software\Borland\BDS\4.0\Debugging\Borland Debuggers]
    "Win32LogOptions"=dword:00000002
    "DotNetLogOptions"=dword:00000001
    "Break On Language Exceptions"="1"
    "InspectorsStayOnTop"="0"
    "InspectorsShowQualNames"="0"
    "InspectorsShowInherited"="1"
    "InspectorsSortByName"="0"
    "ViewCPUOnException"="0"
    "InspectExceptionObject"="0"
    "Debug Spawned Processes"="0"
    "Allow COM Cross-process Stepping"="0"
    "Allow Side Effects in Watches"="0"
    "Disable Multiple Evaluators"="0"
    "Debug Symbols Search Path"=""
    "Debug Source Path"=""
    "DefaultInspectorRange"=dword:00020000

    [HKEY_CURRENT_USER\Software\Borland\BDS\4.0\Debugging\Borland Debuggers\Event Log Colors]
    "Breakpoint Stack FG"="$002080FF"
    "Breakpoint Stack BG"="clWindow"
    "Application Domain Created FG"="clGreen"
    "Application Domain Created BG"="clWindow"
    "Application Domain Deleted FG"="clMoneyGreen"
    "Application Domain Deleted BG"="clWindow"

    [HKEY_CURRENT_USER\Software\Borland\BDS\4.0\Debugging\Borland Debuggers\ExceptionCodes]
    "Access Violation"="0,0"
    "In Page Error"="0,0"
    "Invalid Handle"="0,0"
    "No Memory"="0,0"
    "Illegal Instruction"="0,0"
    "Noncontinuable Exception"="0,0"
    "Invalid Disposition"="0,0"
    "Array Bounds Exceeded"="0,0"
    "Float Denormal Operation"="0,0"
    "Float Divide By Zero"="0,0"
    "Float Inexact Result"="0,0"
    "Float Invalid Operation"="0,0"
    "Float Overflow"="0,0"
    "Float Stack Check"="0,0"
    "Float Underflow"="0,0"
    "Integer Divide By Zero"="0,0"
    "Integer Overflow"="0,0"
    "Privileged Instruction"="0,0"
    "Stack Overflow"="0,0"
    "Control C Exit"="0,0"

    [HKEY_CURRENT_USER\Software\Borland\BDS\4.0\Debugging\Borland Debuggers\Language Exception Classes]
    "Delphi EAbort Exceptions"="1"
    "Indy Silent Exception"="1"
    "Microsoft DAO Exceptions"="1"
    "System.Threading.SynchronizationLockException"="1"
    "System.Threading.ThreadAbortException"="1"
    "EClassNotFound"="1"
    "EIBInterBaseError"="1"

    [HKEY_CURRENT_USER\Software\Borland\BDS\4.0\Debugging\Event Log Colors]
    "Default Log Color FG"=dword:ff000008
    "Default Log Color BG"=dword:ff000005
    "Output Debug String FG"=dword:00800000
    "Output Debug String BG"=dword:ff000005
    "WM Sent FG"=dword:00f99198
    "WM Sent BG"=dword:ff000005
    "WM Posted FG"=dword:00ffffff
    "WM Posted BG"=dword:00808080
    "Ole Client Start FG"=dword:ff000008
    "Ole Client Start BG"=dword:ff000005
    "Ole Server Start FG"=dword:ff000008
    "Ole Server Start BG"=dword:ff000005
    "Ole Client End FG"=dword:ff000008
    "Ole Client End BG"=dword:ff000005
    "Breakpoint Hit FG"=dword:000000ff
    "Breakpoint Hit BG"=dword:ff000005
    "Breakpoint Evaluation FG"=dword:008080ff
    "Breakpoint Evaluation BG"=dword:ff000005
    "Breakpoint Message FG"=dword:000000d9
    "Breakpoint Message BG"=dword:ff000005
    "Process Start FG"=dword:00808080
    "Process Start BG"=dword:ff000005
    "Process End FG"=dword:00808080
    "Process End BG"=dword:ff000005
    "Thread Start FG"=dword:00000080
    "Thread Start BG"=dword:ff000005
    "Thread End FG"=dword:00000080
    "Thread End BG"=dword:ff000005
    "Module Load FG"=dword:00ff0000
    "Module Load BG"=dword:ff000005
    "Module Unload FG"=dword:00ff0000
    "Module Unload BG"=dword:ff000005
    "Exception First Try FG"=dword:00808000
    "Exception First Try BG"=dword:ff000005



  • torsten_156 schrieb:

    - Ich bin als Admin am System angemeldet. Ich hoffe dass das die Debugging-Rechte sind

    Ja, das impliziert gewöhnlich Debug-Rechte.

    torsten_156 schrieb:

    - Der Debugger hat bei den anderen Projekten 100%ig funktioniert! Selbst bei diesem Projekt. Nur jetzt, nach längerer Zeit der Pause nicht mehr.

    Funktioniert er denn bei irgendeinem anderen Projekt noch?

    torsten_156 schrieb:

    - Die Modulansicht ist für mich neu! Wenn ich diese aufrufe und mein Projekt (Hello World) starte, erscheinen unter NAME jede menge Dateien. Als erste aber die Projekt1.exe. Dann kommen jede menge DLLs, BPLs und eine WINSPOOL.DRV

    Wenn Debug-Informationen für deine Datei gefunden werden konnten, siehst du links einen blauen Punkt. In der Modulliste darunter sind dann die enthaltenen Quelltext-Module aufgelistet, rechts die Einsprungpunkte.

    torsten_156 schrieb:

    - Die *.tds und *.exe liegen im selben Verzeichnis (debug_build\). Allerdings kann ich keine *.map-Datei finden? Auch in anderen Verzeichnissen finde ich keine *.map?

    Stimmt, die scheint C++Builder 2006 nicht zu erzeugen. Das sollte unproblematisch sein.

    torsten_156 schrieb:

    - Und hier der REG-Key: [...]

    Scheint in Ordnung zu sein.

    Noch ein paar Dinge, die mir einfallen:

    • Mit
    asm int 3;
    

    kannst du testweise manuell einen Debugger-Haltepunkt erzwingen. Wenn kein Debugger an den Prozeß angehängt ist, verursacht das allerdings eine Win32-Exception.

    • Ist in den Projektoptionen unter "Linker|Linken" die Option "Vollständige Debug-Informationen" für die aktive Debug-Build-Konfiguration aktiviert?
    • Ist in den Projektoptionen unter "Debugger|Symboltabellen" ein Häkchen in "Alle Symbole laden"?
    • Versuche mal testweise, die Option "Alle Symbole laden" zu deaktivieren und in der Modulliste darunter manuell den Namen ausführbare Datei (inkluive Endung) als Modulnamen und das \Debug_Build-Verzeichnis, darin die *.tds-Datei liegt, als Symboltabellenpfad anzugeben.


  • [*]Ist in den Projektoptionen unter "Linker|Linken" die Option "Vollständige Debug-Informationen" für die aktive Debug-Build-Konfiguration aktiviert?

    Genau DAS war's 😃 Dieses Häkchen fehlte. Habe ich gesetzt und siehe da, jetzt bleibt der Debugger am HP stehen!

    VIELEN DANK für Deine MÜHE! 👍 👍 👍
    Hier kann man sicher sein, dass einem geholfen wird!

    Schönen Gruß
    Torsten


Anmelden zum Antworten