Anzeige:
Ergebnis 1 bis 7 von 7

Thema: ein wxWindows programm mit DevC++ debuggen

  1. #1
    Registrierter Benutzer
    Registriert seit
    20.07.2000
    Ort
    Österreich
    Beiträge
    189

    ein wxWindows programm mit DevC++ debuggen

    also, obwohl das ein unix forum ist, versuche ich es trotzdem mal hier (in 2 anderen foren hab ich bis jetzt noch keine antwort bekommen), da devc++ ja auch die gnu tools verwendet:

    also da ich heute meine ersten versuche mit einem debugger gemacht habe, habe ich zuerst einmal versucht ein einfaches C programm zu debuggen.
    darum hab ich in DevC++ (4.9.8.7) ein neues C - projekt begonnen, nur eine einfache schleife eingefügt und einen breakpoint in der schleife gesetzt. das ganze hab ich dann kompiliert. nun den debugger starten. da sagt devc++ dass keine debuginfos vorhanden sind, und ob er es mit den infos neu kompileren soll. nun nach dem neu kompileren funktioniert das debuggen ohne probleme (bleibt am breakpoint stehen, und man kann es weiter ausführen).

    nun wollte ich das ganze an einem wxwindows projekt versuchen (die wxwindows pakete hab ich von http://michel.weinachter.free.fr). also hab ich ein neues wxWindows projekt gestartet. das vorgegebene beispiel ("minimal sample" von den wxWindows pakten) kompilert, und den debugger gestartet. nun sagt devc++ wieder dass keine debuginfos vorhanden sind, also wieder neu kompilieren. nun kann ich zwar den debugger starten, aber der meldet immer nur speicherzugriffsfehler (ohne debugger funktioniert das prog aber ohne probleme), wenn ich auf fortsetzten klicke kommt gleich der nächste usw.

    gdb macht folgende ausgaben:

    Code:
    post-prompt
    Starting program C:\DevCppProjekte\Projekt1.exe
    frames-invalid
    ...
    ..
    .
    frames-invalid
    frames-invalid
    starting
    frames-invalid
    frames-invalid
    frames-invalid
    frames-invalid
    signal
    Program received signal
    signal-name
    SIGSEGV
    signal-name-end
    ,
    signal-string
    Segmentation fault
    signal-string-end
    .
    frame-begin 0 0x22f82c
    frame-address
    0x0022f82c
    frame-address-name
    ??
     in
    frame-function-name
     ()
    frame-end
    stopped
    pre-prompt
    (gdb)
    prompt
    und das ganze wiederholt sich immer wieder ...

    wenn ich das vorgegebene beispiel von einer normalen windows anwendung verwende passiert auch das gleiche.

    also wo liegt mein fehler?

  2. #2
    Registrierter Benutzer
    Registriert seit
    20.07.2000
    Ort
    Österreich
    Beiträge
    189
    so, ich hab das ganze jetzt mal ohne die gui von devc++ versucht, und hab gdb in der kommandozeile gestartet.
    dort geschied genau das gleiche, nun hab ich herrausgefunden dass dieses SIGSEGV immer genau dann auftritt sobald ich die maus über das fenster des zu debuggenden progamm bewege.

    kann man dem debugger irgendwie klar manchen dass er das ignorieren soll?

  3. #3
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Solange du dich mit der Tastatur im Programm bewegst geht das ganze?

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  4. #4
    Registrierter Benutzer Avatar von oracle2025
    Registriert seit
    18.03.2002
    Beiträge
    136
    hm, also ich verwende mingw+msys für wxWindows,
    und hab eigentlich keine Probleme mit dem gdb

    beim kompilieren sollte man den schalter -ggdb mit angeben,

    hm, was für ne version von Windows verwendest du? Ich habe die Erfahrung gemacht, dass win98 ganzschon unkooperativ beim Debuggen ist
    Niemand dringt hier durch und
    gar mit der Botschaft eines Toten.
    Du aber sitzt an Deinem Fenster und
    erträumst sie Dir, wenn der Abend kommt.

  5. #5
    Registrierter Benutzer
    Registriert seit
    20.07.2000
    Ort
    Österreich
    Beiträge
    189
    @peschmae

    das ganze passiert wenn irgendein input zu dem fenster kommt, egal welcher. wenn ich mit alt + tab das fenster in den vordergrund hole passiert das gleiche.
    wenn ich mit c das programm fortsetze, läuft es wieder so lange bis irgend ein input zum fenster kommt.

    @oracle2025

    ich verwende win2000 mit sp4 und aktuellen patchs.
    devc++ kompiliert das ganze mit der option -g3.

    kann es vielleicht auch daran liegen das die dev-pakte mit dieser option kompilert werden müssen, aber nicht sind?
    Geändert von Alex_K (12-02-2004 um 12:29 Uhr)

  6. #6
    Registrierter Benutzer
    Registriert seit
    20.07.2000
    Ort
    Österreich
    Beiträge
    189
    so, jetzt hab ich mal wxwindows nach anleitung von wiki.wxwindows.org in einer mysys umgebung kompiliert (mit debuginfos). dort hab ich auch das minimal sample kompiliert. es startet wieder ohne probleme, aber der debugger macht auch dort das gleiche!

    Code:
    Alexander Keusch@ALEX /c/wxWindows-2.4/msw-debug/Samples/minimal
    $ gdb minimal.exe
    GNU gdb 5.1.1 (mingw experimental)
    Copyright 2002 Free Software Foundation, Inc.
    GDB is free software, covered by the GNU General Public License, and you are
    welcome to change it and/or distribute copies of it under certain conditions.
    Type "show copying" to see the conditions.
    There is absolutely no warranty for GDB.  Type "show warranty" for details.
    This GDB was configured as "mingw32"...
    (gdb) run
    Starting program: c:\wxWindows-2.4\msw-debug\Samples\minimal/minimal.exe 
    
    Program received signal SIGSEGV, Segmentation fault.
    0x0022f460 in ?? ()
    (gdb) c
    Continuing.
    
    Program received signal SIGSEGV, Segmentation fault.
    0x0022f7a4 in ?? ()
    (gdb) c
    Continuing.
    
    Program received signal SIGSEGV, Segmentation fault.
    0x0022f7a4 in ?? ()
    (gdb) c
    Continuing.
    
    Program received signal SIGSEGV, Segmentation fault.
    0x0022f7d0 in ?? ()
    (gdb) quit
    The program is running.  Exit anyway? (y or n) y

  7. #7
    Registrierter Benutzer
    Registriert seit
    20.07.2000
    Ort
    Österreich
    Beiträge
    189
    nach stundenlangen durchsuchen von mailinglisten und foren bin ich jetzt auf ein paar leute gestoßen die das gleiche problem haben.
    es scheint als wäre es ein allgemeines problem von mingw, aber keiner weiß so genau warum es auftritt. es scheint auch mit der installation von windows zusammen zuhängen (von 3 leuten, die das problem haben, die ich gefunden habe, haben 2 das problem gelöst indem sie einen andere version von windows installiert haben, bzw. neu installiert habe).

    also dann werde ich mich mal daran machen, windows neu installieren und hoffen dass es danach funktioniert ...

    EDIT:

    so ich habe jetzt die lösung gefunden!
    es lag am antivirus, ich verwende panda AV in der version 7.0, seitdem ich ihn deaktiviert habe, funktioniert es ohne probleme.
    Geändert von Alex_K (12-02-2004 um 17:32 Uhr)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •