mikrocontroller.net

Forum: Compiler & IDEs SW läuft aber nicht im gdb server


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Reinhard (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo..

habe ein QT5_application Projekt welches ich auf einer Ubuntu VM 
entwickle und mittels Cross-compiling für eine cortexa9hf CPU erstelle. 
Führe ich das Programm am Embedded Linux aus läuft es fehlerfrei, lasse 
ich es unter gdbserver laufen und verbinde mich dann von der VM Ware und 
dem QTCreator auf den gdbserver stürzt die Software sofort ab mit einem 
" undefined symbol" in der boost library. Die Pfade in der gesucht 
werden stimmen, habe es mit LD_DEBUG überprüft. Weiß nicht mehr was ich 
noch testen/ändern kann um da weiter zu kommen.

Als Screenshot mein Qt-pro und die Fehlermeldung, wie gesagt ohne gdb 
läuft die Anwendung fehlerfrei.. aber entwickeln ohne debugger macht 
keinen Spaß

Hat da wer einen Tipp für mich? Vielen Dank im Voraus..
Reinhard

Autor: Christopher J. (christopher_j23)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kompilierst du denn deinen Code inkl. Abhängigkeiten (z.B. boost) mit 
Debug-Symbolen?

Autor: Reinhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Morgen,

mh.. dieser Compiler Call wird gemacht
<source lang="c"> arm-poky-linux-gnueabi-g++  -march=armv7-a -marm 
-mfpu=neon  -mfloat-abi=hard -mcpu=cortex-a9 
--sysroot=/workspace/data/egspro_sdk/sysroots/cortexa9hf-neon-poky-linux 
-gnueabi  -c -pipe  -O2 -pipe -g -feliminate-unused-debug-types 
-fdebug-prefix-map=/home/workspace-jenkins/Yocto_Release/build/egspro/we 
-wayland-qt5/we-bsp-release/tmp/work/x86_64-nativesdk-pokysdk-linux/meta 
-environment-egspro/1.0-r8=/usr/src/debug/meta-environment-egspro/1.0-r8 
-fdebug-prefix-map=/home/workspace-jenkins/Yocto_Release/build/egspro/we 
-wayland-qt5/we-bsp-release/tmp/sysroots/x86_64-linux= 
-fdebug-prefix-map=/home/workspace-jenkins/Yocto_Release/build/egspro/we 
-wayland-qt5/we-bsp-release/tmp/sysroots/arm-nativesdk-pokysdk-= 
-std=gnu++0x -g -DLINUX=1 -DEGL_API_FB=1 -std=gnu++0x -Wall -W 
-D_REENTRANT -fPIC -DQT_QML_DEBUG -DQT_CORE_LIB -I../wtwd -I. -isystem 
/workspace/data/egspro_sdk/sysroots/cortexa9hf-neon-poky-linux-gnueabi/u 
sr/include  -I../../WEapi_development_package_egspro/include 
-I../../WEapi_development_package_egspro/include/weapi/include -isystem 
/workspace/data/egspro_sdk/sysroots/cortexa9hf-neon-poky-linux-gnueabi/u 
sr/include/qt5  -isystem 
/workspace/data/egspro_sdk/sysroots/cortexa9hf-neon-poky-linux-gnueabi/u 
sr/include/qt5/QtCore  -I. 
-I/workspace/data/egspro_sdk/sysroots/cortexa9hf-neon-poky-linux-gnueabi 
/usr/lib/qt5/mkspecs/linux-oe-g++  -o moc_SYS_main.o moc_SYS_main.cpp 
</source>
Die Boost-Libraries habe ich von meinem HW-Supplier bereits 
vorkompiliert samt header bekommen.

Autor: Sven S. (boldie)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Sowas hatte ich auch schon Mal, den Grund weiss ich aber nicht mehr. 
Hatte mir damals aber Output von strace angesehen um das zu Debuggen.

Autor: Reinhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank mal für den Hinweis, das kannte ich bis jetzt nicht.

Leider bin ich daraus auch nicht schlauer geworden.. Was mir noch nicht 
ganz klar ist, warum macht es einen Unterschied ob es im gdbserver läuft 
oder nicht, denn wie gesagt starte ich die Anwendung direkt läuft sie.


write(4, "$l<threads>\n<thread id=\"p229.229"..., 59) = 59
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$m11f10,4#f6", 8192)           = 12
ptrace(PTRACE_PEEKTEXT, 553, 0x11f10, [0xe92d4070]) = 0
write(4, "$70402de9#ff", 12)            = 12
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$m11f18,4#fe", 8192)           = 12
ptrace(PTRACE_PEEKTEXT, 553, 0x11f18, [0xe1a05001]) = 0
write(4, "$0150a0e1#ed", 12)            = 12
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$m11f10,4#f6", 8192)           = 12
ptrace(PTRACE_PEEKTEXT, 553, 0x11f10, [0xe92d4070]) = 0
write(4, "$70402de9#ff", 12)            = 12
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$m0,4#fd", 8192)               = 8
ptrace(PTRACE_PEEKTEXT, 553, NULL, 0x7ee727e0) = -1 EIO (Input/output 
error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$mfffffffc,4#fa", 8192)        = 15
ptrace(PTRACE_PEEKTEXT, 553, 0xfffffffc, 0x7ee727e0) = -1 EIO 
(Input/output error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$m0,4#fd", 8192)               = 8
ptrace(PTRACE_PEEKTEXT, 553, NULL, 0x7ee727e0) = -1 EIO (Input/output 
error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$mfffffffc,4#fa", 8192)        = 15
ptrace(PTRACE_PEEKTEXT, 553, 0xfffffffc, 0x7ee727e0) = -1 EIO 
(Input/output error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$m0,2#fb", 8192)               = 8
ptrace(PTRACE_PEEKTEXT, 553, NULL, 0x7ee727e0) = -1 EIO (Input/output 
error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$mfffffffe,2#fa", 8192)        = 15
ptrace(PTRACE_PEEKTEXT, 553, 0xfffffffc, 0x7ee727e0) = -1 EIO 
(Input/output error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$mfffffffc,2#f8", 8192)        = 15
ptrace(PTRACE_PEEKTEXT, 553, 0xfffffffc, 0x7ee727e0) = -1 EIO 
(Input/output error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$m0,2#fb", 8192)               = 8
ptrace(PTRACE_PEEKTEXT, 553, NULL, 0x7ee727e0) = -1 EIO (Input/output 
error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$mfffffffe,2#fa", 8192)        = 15
ptrace(PTRACE_PEEKTEXT, 553, 0xfffffffc, 0x7ee727e0) = -1 EIO 
(Input/output error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$mfffffffc,2#f8", 8192)        = 15
ptrace(PTRACE_PEEKTEXT, 553, 0xfffffffc, 0x7ee727e0) = -1 EIO 
(Input/output error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$m0,4#fd", 8192)               = 8
ptrace(PTRACE_PEEKTEXT, 553, NULL, 0x7ee727e0) = -1 EIO (Input/output 
error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$mfffffffc,4#fa", 8192)        = 15
ptrace(PTRACE_PEEKTEXT, 553, 0xfffffffc, 0x7ee727e0) = -1 EIO 
(Input/output error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$m0,4#fd", 8192)               = 8
ptrace(PTRACE_PEEKTEXT, 553, NULL, 0x7ee727e0) = -1 EIO (Input/output 
error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$mfffffffc,4#fa", 8192)        = 15
ptrace(PTRACE_PEEKTEXT, 553, 0xfffffffc, 0x7ee727e0) = -1 EIO 
(Input/output error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$m0,4#fd", 8192)               = 8
ptrace(PTRACE_PEEKTEXT, 553, NULL, 0x7ee727e0) = -1 EIO (Input/output 
error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$m0,4#fd", 8192)               = 8
ptrace(PTRACE_PEEKTEXT, 553, NULL, 0x7ee727e0) = -1 EIO (Input/output 
error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$m0,4#fd", 8192)               = 8
ptrace(PTRACE_PEEKTEXT, 553, NULL, 0x7ee727e0) = -1 EIO (Input/output 
error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$m0,4#fd", 8192)               = 8
ptrace(PTRACE_PEEKTEXT, 553, NULL, 0x7ee727e0) = -1 EIO (Input/output 
error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$mfffffffc,4#fa", 8192)        = 15
ptrace(PTRACE_PEEKTEXT, 553, 0xfffffffc, 0x7ee727e0) = -1 EIO 
(Input/output error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$m0,4#fd", 8192)               = 8
ptrace(PTRACE_PEEKTEXT, 553, NULL, 0x7ee727e0) = -1 EIO (Input/output 
error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$mfffffffc,4#fa", 8192)        = 15
ptrace(PTRACE_PEEKTEXT, 553, 0xfffffffc, 0x7ee727e0) = -1 EIO 
(Input/output error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$m0,2#fb", 8192)               = 8
ptrace(PTRACE_PEEKTEXT, 553, NULL, 0x7ee727e0) = -1 EIO (Input/output 
error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$mfffffffe,2#fa", 8192)        = 15
ptrace(PTRACE_PEEKTEXT, 553, 0xfffffffc, 0x7ee727e0) = -1 EIO 
(Input/output error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$mfffffffc,2#f8", 8192)        = 15
ptrace(PTRACE_PEEKTEXT, 553, 0xfffffffc, 0x7ee727e0) = -1 EIO 
(Input/output error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$m0,2#fb", 8192)               = 8
ptrace(PTRACE_PEEKTEXT, 553, NULL, 0x7ee727e0) = -1 EIO (Input/output 
error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$mfffffffe,2#fa", 8192)        = 15
ptrace(PTRACE_PEEKTEXT, 553, 0xfffffffc, 0x7ee727e0) = -1 EIO 
(Input/output error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$mfffffffc,2#f8", 8192)        = 15
ptrace(PTRACE_PEEKTEXT, 553, 0xfffffffc, 0x7ee727e0) = -1 EIO 
(Input/output error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$m0,4#fd", 8192)               = 8
ptrace(PTRACE_PEEKTEXT, 553, NULL, 0x7ee727e0) = -1 EIO (Input/output 
error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$mfffffffc,4#fa", 8192)        = 15
ptrace(PTRACE_PEEKTEXT, 553, 0xfffffffc, 0x7ee727e0) = -1 EIO 
(Input/output error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$m0,4#fd", 8192)               = 8
ptrace(PTRACE_PEEKTEXT, 553, NULL, 0x7ee727e0) = -1 EIO (Input/output 
error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$mfffffffc,4#fa", 8192)        = 15
ptrace(PTRACE_PEEKTEXT, 553, 0xfffffffc, 0x7ee727e0) = -1 EIO 
(Input/output error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$m0,4#fd", 8192)               = 8
ptrace(PTRACE_PEEKTEXT, 553, NULL, 0x7ee727e0) = -1 EIO (Input/output 
error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$m0,4#fd", 8192)               = 8
ptrace(PTRACE_PEEKTEXT, 553, NULL, 0x7ee727e0) = -1 EIO (Input/output 
error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$m0,4#fd", 8192)               = 8
ptrace(PTRACE_PEEKTEXT, 553, NULL, 0x7ee727e0) = -1 EIO (Input/output 
error)
write(4, "$E01#a6", 7)                  = 7
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$Z0,10cf8,4#78", 8192)         = 14
write(4, "$#00", 4)                     = 4
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$m10cf8,4#2f", 8192)           = 12
ptrace(PTRACE_PEEKTEXT, 553, 0x10cf8, [0x63726137]) = 0
write(4, "$37617263#a3", 12)            = 12
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$X10cf8,0:#50", 8192)          = 13
write(4, "$OK#9a", 6)                   = 6
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$X10cf8,4:\360\1\360\347#1c", 8192) = 17
ptrace(PTRACE_PEEKTEXT, 553, 0x10cf8, [0x63726137]) = 0
ptrace(PTRACE_POKETEXT, 553, 0x10cf8, 0xe7f001f0) = 0
write(4, "$OK#9a", 6)                   = 6
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$m11f10,4#f6", 8192)           = 12
ptrace(PTRACE_PEEKTEXT, 553, 0x11f10, [0xe92d4070]) = 0
write(4, "$70402de9#ff", 12)            = 12
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$X11f10,4:\360\1\360\347#e3", 8192) = 17
ptrace(PTRACE_PEEKTEXT, 553, 0x11f10, [0xe92d4070]) = 0
ptrace(PTRACE_POKETEXT, 553, 0x11f10, 0xe7f001f0) = 0
write(4, "$OK#9a", 6)                   = 6
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$QPassSignals:e;10;14;17;1a;1b;1"..., 8192) = 52
write(4, "$OK#9a", 6)                   = 6
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$vCont?#49", 8192)             = 10
write(4, "$vCont;c;C;s;S;t#11", 19)     = 19
_newselect(5, [4], [], [4], NULL)       = 1 (in [4])
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
read(4, "$vCont;c#a8", 8192)            = 11
rt_sigaction(SIGIO, {0x16238, [IO], SA_RESTORER|SA_RESTART, 0x4a00df30}, 
{SIG_IGN, [IO], SA_RESTORER|SA_RESTART, 0x4a00df30}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
ptrace(PTRACE_GETREGS, 553, NULL, 0x75cb8) = 0
ptrace(PTRACE_SETREGS, 553, NULL, 0x75cb8) = 0
ptrace(PTRACE_GETVFPREGS, 553, NULL, 0x75cb8) = 0
ptrace(PTRACE_SETVFPREGS, 553, NULL, 0x75cb8) = 0
ptrace(PTRACE_CONT, 553, NULL, SIG_0)   = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1], [], 8) = 0
wait4(-1, 0x7ee72708, WNOHANG, NULL)    = 0
wait4(-1, 0x7ee72708, WNOHANG|__WCLONE, NULL) = -1 ECHILD (No child 
processes)
rt_sigsuspend([], 8wtwd: symbol lookup error: wtwd: undefined symbol: 
_ZN5boost7archive1▒▒▒hive_exceptionD1Ev
)                    = ? ERESTARTNOHAND (To be restarted if no handler)
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=553, si_uid=0, 
si_status=127, si_utime=11, si_stime=1} ---
sigreturn({mask=~[KILL STOP RTMIN RT_1]}) = -1 EINTR (Interrupted system 
call)
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1], [], 8) = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 127}], WNOHANG, NULL) = 
553
wait4(-1, 0x7ee72708, WNOHANG, NULL)    = -1 ECHILD (No child processes)
wait4(-1, 0x7ee72708, WNOHANG|__WCLONE, NULL) = -1 ECHILD (No child 
processes)
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
write(2, "\nChild exited with status 127\n", 30

Autor: Niklas G. (erlkoenig) Benutzerseite
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Starte den GDB doch mal auf der Konsole, ohne QTCreator. Da kommen 
bestimmt bessere Fehlermeldungen. Normalerweise stört sich der GDB nicht 
besonders an fehlenden Symbolen; er wird nur weniger hilfreich.

Autor: Reinhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Niklas,
danke mal für den Tipp.. das klappt komischerweise, dh wenn ich den 
cross-compiled gdb in meiner vmware starte läuft die applikation am 
device.. der gleiche gdb ist aber in den debugger einstellungen vom 
QTCreator in Verwendung..

Autor: Niklas G. (erlkoenig) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Reinhard schrieb:
> der gleiche gdb ist aber in den debugger einstellungen vom
> QTCreator in Verwendung..

Dann stammt die Meldung wohl von QTCreator. Du musst da vermutlich 
irgendwo den Pfad zu den Boost Libraries einstellen.

Autor: Reinhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aber es stürzt doch die Anwendung am Device ab, die selbe die vorher mit 
der Kommandozeilen-gdb Verbindung noch alle Pfade hatte.. Ich kann mich 
leider nur mittels dem QTCreator auf eine entferne Server Session 
verbinden (was ja nicht klappt) und nicht auf die lokale gdb Session, 
sonst wäre das mein Workaround.

Autor: Niklas G. (erlkoenig) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Reinhard schrieb:
> Aber es stürzt doch die Anwendung am Device ab

Ganz sicher? Du könntest es prüfen indem du ein Minimalst-Hello-World 
ohne Qt und Boost kompilierst und linkst, und dann versuchst mit 
dlopen() die fragliche .so zu öffnen.

Reinhard schrieb:
> die selbe die vorher mit
> der Kommandozeilen-gdb Verbindung noch alle Pfade hatte..

In beiden Fällen wird doch der GDB-Server auf dem Device genutzt und ein 
GDB in der VM, oder? Der einzige Unterschied ist der QTCreator. Also 
muss der schuld sein... Kannst du herausfinden mit welcher Kommandozeile 
gdb und gdbserver jeweils gestartet werden?

Autor: Reinhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab im QT Creator unter Ausführung die Debug Einstellungen.. wenn 
ich da nur QML akitivert lasse und C++ nicht, läuft die Anwendung aber 
ich hab keine Breakpoints. Welche gdb Kommands er genau ausführt bin ich 
noch nicht fündig geworden..

Autor: Reinhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin einen kleinen Schritt weiter.. Die Applikation war eine 
Konsolenanwendung, das hat bis jetzt ja  nicht so toll geklappt. Habe 
nun eine QT Widget Anwendung probiert.. die klappt zwar auch nicht 
direkt zum debuggen, aber ich kann wenigsten den gdbserver manuell am 
device starten und mich dann via QTCreator am laufenden Server anmelden, 
dann kann ich debuggen. Dh für mich weiterhin, das der QTCreator den 
gdbserver einfach falsch konfiguriert.. habe mal kurz versucht .dbinit 
zu verwenden, aber das hat nicht geklappt, weiß wer wie das File 
aussehen muss und wo es liegen muss.

Autor: Oliver S. (oliverso)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vom QtCreator gibt es den Sourcecode, da kannst du nachschauen, was der 
macht. Vielleicht hilft auch der verbose Mode vom gdb weiter.

Oliver

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.