Portál AbcLinuxu, 14. května 2025 16:24

Dotaz: KDevelop debugger

4.1.2006 15:43 ElseCZ
KDevelop debugger
Přečteno: 282×
Odpovědět | Admin
Ahoj, jsem zacatecnik a presel sem z windowsovskeho builderu na kdevelop, mam vytvorenou grafickou aplikaci pomoci QT, bohuzel mi to hazi nejakou chybu v pameti. Takze sem se to zacal snazim debuggovat pomoci toho kdevelop debugger, bohuzel se mi nedari postupne step over nebo step in projizdet kod (ani se mi napodarilo zastavit na breakpointu) a hledat kdy to spadne. Kdyz v nabidce DEbug spustim start tak to spusti debug konsole a ovladaci prvek na debugovani a program ale na breakpointu to nezastavi. poradte prosim Diky Else.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

4.1.2006 16:13 rastos | skóre: 63 | blog: rastos
Rozbalit Rozbalit vše Re: KDevelop debugger
Odpovědět | | Sbalit | Link | Blokovat | Admin
Skús si overiť, že projekt kompiluješ a linkujš bez optimalizácie: -O0
4.1.2006 16:16 ELse
Rozbalit Rozbalit vše Re: KDevelop debugger
to se vypina kde? ;)
4.1.2006 16:24 rastos | skóre: 63 | blog: rastos
Rozbalit Rozbalit vše Re: KDevelop debugger
Menu Project -> Project Options -> Configure Options -> tab C/C++ -> Compiler flags -> tab Optimization
4.1.2006 16:27 e
Rozbalit Rozbalit vše Re: KDevelop debugger
Configure Options - to sem vubec v tom project options nenasel:((
5.1.2006 08:57 rastos | skóre: 63 | blog: rastos
Rozbalit Rozbalit vše Re: KDevelop debugger
Ja mam kdevelop 3.2.2 a "Configure Options" je v stlpci ikon na lavej strane dialogu otvoreneho po zvoleni "Project Options". Ak mas inu verziu kdevelop, ktora to ma inak, musis skratka hladat nastavenia kompilatora.
4.1.2006 16:30 e
Rozbalit Rozbalit vše Re: KDevelop debugger
Odpovědět | | Sbalit | Link | Blokovat | Admin
vubec nemam soubor config.h teda...
5.1.2006 10:52 Semo | skóre: 45 | blog: Semo
Rozbalit Rozbalit vše Re: KDevelop debugger
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ja sa tiez neviem vyznat v nastavenia kompilacie pod KDevelop. Ale (aspon u mna) su ulozene v subore CMakeList.txt pod premennou ADD_DEFINITIONS. takze riadok bude vyzerat:
ADD_DEFINITIONS(-O0 -Wall)
If you hold a Unix shell up to your ear, you can you hear the C.
7.1.2006 09:38 Else
Rozbalit Rozbalit vše Re: KDevelop debugger
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ahoj tak sem na to koukal, mam Kdevelop 3.2.1, pouzivam distribuci Gentoo a koukal sem do souboru Makefile a zmenil tam CFlags cxxflags ted vypada takhle:

CC            = gcc
CXX           = g++
LEX           = flex
YACC          = yacc
DEFINES       = -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED
CFLAGS        = -pipe -mcpu=i686 -pipe -O0 -Wall -W -D_REENTRANT $(DEFINES)
CXXFLAGS      = -pipe -mcpu=i686 -pipe -O0 -Wall -W -D_REENTRANT $(DEFINES)
LEXFLAGS      = 
YACCFLAGS     = -d
INCPATH       = -I/usr/share/doc/qt-4.1.0_rc1/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I.
LINK          = g++
LFLAGS        = 
LIBS          = $(SUBLIBS) -L/usr/lib/qt4 -lQtGui -L/usr/X11R6/lib -L/usr/lib/qt4 -lpng -lSM -lICE -lXi -lXrender -lXrandr -lXcursor -lfreetype -lfontconfig -lXext -lX11 -lm -lQtCore -lz -ldl -lpthread
AR            = ar cqs
RANLIB        = 
QMAKE         = /usr/bin/qmake
TAR           = tar -cf
COMPRESS      = gzip -9f
COPY          = cp -f
COPY_FILE     = $(COPY)
COPY_DIR      = $(COPY) -r
INSTALL_FILE  = $(COPY_FILE)
INSTALL_DIR   = $(COPY_DIR)
DEL_FILE      = rm -f
SYMLINK       = ln -sf
DEL_DIR       = rmdir
MOVE          = mv -f
CHK_DIR_EXISTS= test -d
MKDIR         = mkdir -p
pri kompilaci to vypisuje tohle:
cd '/root/Adapters' && gmake -k -j1 
g++ -c -pipe -mcpu=i686 -pipe -O0 -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/doc/qt-4.1.0_rc1/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I. -o main.o main.cpp
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
/usr/bin/uic windowadapters.ui -o ui_windowadapters.h
/usr/bin/uic adapters_component.ui -o ui_adapters_component.h
g++ -c -pipe -mcpu=i686 -pipe -O0 -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/doc/qt-4.1.0_rc1/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I. -o window.o window.cpp
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
g++ -c -pipe -mcpu=i686 -pipe -O0 -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/doc/qt-4.1.0_rc1/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I. -o windowadapters.o windowadapters.cpp
g++ -c -pipe -mcpu=i686 -pipe -O0 -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/doc/qt-4.1.0_rc1/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I. -o adapters_component.o adapters_component.cpp
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
/usr/bin/moc -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/doc/qt-4.1.0_rc1/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I. adapters_component.h -o moc_adapters_component.cpp
g++ -c -pipe -mcpu=i686 -pipe -O0 -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/doc/qt-4.1.0_rc1/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I. -o moc_adapters_component.o moc_adapters_component.cpp
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
/usr/bin/moc -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/doc/qt-4.1.0_rc1/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I. window.h -o moc_window.cpp
g++ -c -pipe -mcpu=i686 -pipe -O0 -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/doc/qt-4.1.0_rc1/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I. -o moc_window.o moc_window.cpp
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
/usr/bin/moc -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/doc/qt-4.1.0_rc1/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I. windowadapters.h -o moc_windowadapters.cpp
g++ -c -pipe -mcpu=i686 -pipe -O0 -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/doc/qt-4.1.0_rc1/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I. -o moc_windowadapters.o moc_windowadapters.cpp
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
g++ -o Adapters main.o window.o windowadapters.o adapters_component.o moc_adapters_component.o moc_window.o moc_windowadapters.o -L/usr/lib/qt4 -lQtGui -L/usr/X11R6/lib -L/usr/lib/qt4 -lpng -lSM -lICE -lXi -lXrender -lXrandr -lXcursor -lfreetype -lfontconfig -lXext -lX11 -lm -lQtCore -lz -ldl -lpthread
*** Success ***
tak jsem to cely prekompiloval ale na breakpointu se mi to stejne nezastavilo :(( poradte prosim co muze bejt jeste spatne dikas
8.1.2006 22:11 ElseCZ
Rozbalit Rozbalit vše Re: KDevelop debugger
Odpovědět | | Sbalit | Link | Blokovat | Admin
There is no idea?? Please!!!
Luboš Doležel (Doli) avatar 8.1.2006 22:32 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: KDevelop debugger
Tak to zkuste přímo v gdb, jestli stopne...
8.1.2006 22:39 Sinuhet | skóre: 31
Rozbalit Rozbalit vše Re: KDevelop debugger
Anebo si zkuste zalozit nejakej trivialni projekt, funkce main a par prikazu (mysli, ze tam maj primo sablonu pro Hello world), a zkuste breakpointy na tom. Taky se podivejte do menu Project -> Build configuration.
9.1.2006 08:08 rastos | skóre: 63 | blog: rastos
Rozbalit Rozbalit vše Re: KDevelop debugger
Ak sa nemýlim, tak v tom výpise nikde nie je použitý prepínač -g. Ten potrebuješ aj pri kompilácii aj pri linkovaní. Bez neho debug info nie je a teda moc nenadebuguješ.
10.1.2006 09:57 Else
Rozbalit Rozbalit vše Re: KDevelop debugger
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ahoj tak sem pokrocil: pridal sem parametr -g pri kompilaci a linkovani a ted se mi to ve funkci main na breakpointu zastavi, dokonce se to i posouva pomoci sten in, step over ale u radku: statusBar = new QStatusBar(MainWindow); to zahlasi No source #0 0xb7f972b0 in _dl_debug_state () from /lib/ld-linux.so.2. VUbec nevim jak si mam tento radek vysvetlit, dekuji za rady. E
10.1.2006 10:05 Else
Rozbalit Rozbalit vše Re: KDevelop debugger
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tak jsem zjistil ze se to nedeje jen pri tomhle radku ale i u jinych. Na dalsi problem jsem narazil kdyz jsem se pokusil debugovat pri behu programu neboli: kdyz probehne inicializace promenych v prikladu ui pomoci ui.show se obevi program zavola return app.exec a ja dale nemuzu debugovat co se deje napriklad pri stisku nejakeho tlacitka. Jde to nejak? Dikas za rady
#include QApplication>
#include "window.h"

int main(int argc, char *argv[])
    {
        QApplication app(argc, argv);
	MainWindow ui;
        ui.show();
        return app.exec();
    }

10.1.2006 10:45 rastos | skóre: 63 | blog: rastos
Rozbalit Rozbalit vše Re: KDevelop debugger
... rovnako ako asi budeš mať problém takto debugovať MFC aplikáciu. Ak máš handler na event, daj breakpoint na začiatok obsluhy toho eventu.
10.1.2006 19:46 Else
Rozbalit Rozbalit vše Re: KDevelop debugger
Odpovědět | | Sbalit | Link | Blokovat | Admin
se to nezastavi:((
Luboš Doležel (Doli) avatar 10.1.2006 20:26 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: KDevelop debugger
A v panelu GDB nic o pozastavení není? Když jsem to jednou dávno zkoušel, tak KDevelop umístil breakpointy, ale pak je v klídku ignoroval pomocí "continue".

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.