C++ és ncurses debug

 ( Jester_Racer | 2008. november 9., vasárnap - 22:00 )

Üdv!

CodeBlocks-ot használok, és most írok egy programot amiben az ncurses-t használom. Viszont a programom sajnos nem azt csinálja amit kéne :), ezért gondoltam a jó öreg debughoz fordulok azonban az a gondom hogy ha az ncursest használom akkor nem tudok debuggolni(minden más esetben működött eddig) :S Rakok egy breakpoint-ot majd F8, ezután felvillan a terminál, kiírja ezt a szöveget:
Error opening terminal: unknown
és gyorsan el is tűnik. Kicsit gugliztam de csak 1-2 hasonló találatot kaptam, az egyik egy kdevelop bug jelentéshez vezetett, ami miatt ez van, de én nem kdevelopot használok :S
Találkozott valaki ezzel a problémával, és ha igen sikerült megoldania?

Előre is köszi

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

A programodat indítsd el egy xterm-ben, parancssorból, majd a debuggerben válasszad az "Attach" (vagy valami hasonló) menüpontot -- csatlakozz a már futó programhoz. Ezután jelölj breakpoint-ot, majd "Continue" menüpont (vagy valami hasonló). Nem ismerem a Code::Blocks-ot, de közvetlenül gdb-ben ez így néz ki:

Első xterm ablak:

cd DIR
./prog

Második xterm ablak:

cd DIR
fuser -v prog # ebből megvan a PID
gdb
attach PID
break ...
cont

Köszi a választ. Kipróbáltam amit mondtál, sajnos ha codeblocksban alkalmazom ezt az attach módszert, ugyanúgy elszáll a debugger, és ott van az üzenet megint:
Error opening terminal: unknown.
Kipróbáltam a gdb-s módszert csak ott nem nagyon tudom hogy mit kéne látnom mert nem ismerem:

feri@home4:~/C/proba/bin/Debug$ gdb
GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
(gdb) attach 10874
Attaching to process 10874
Reading symbols from /home/feri/C/proba/bin/Debug/proba...done.
Reading symbols from /lib/libncurses.so.5...done.
Loaded symbols for /lib/libncurses.so.5
Reading symbols from /usr/lib/libstdc++.so.6...done.
Loaded symbols for /usr/lib/libstdc++.so.6
Reading symbols from /lib/libm.so.6...Reading symbols from /usr/lib/debug/lib/libm-2.7.so...done.
done.
Loaded symbols for /lib/libm.so.6
Reading symbols from /lib/libgcc_s.so.1...done.
Loaded symbols for /lib/libgcc_s.so.1
Reading symbols from /lib/libc.so.6...Reading symbols from /usr/lib/debug/lib/libc-2.7.so...done.
done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/libdl.so.2...Reading symbols from /usr/lib/debug/lib/libdl-2.7.so...done.
done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/ld-linux-x86-64.so.2...Reading symbols from /usr/lib/debug/lib/ld-2.7.so...done.
done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
0x00002b4bb8e23134 in _nc_waddch_nosync () from /lib/libncurses.so.5
(gdb) break 22
Breakpoint 1 at 0x400a0c: file /home/feri/C/proba/main.cpp, line 22. (3 locations)
(gdb) cont
Continuing.

és itt az utolsó sor alatti sorban villog a kurzor és nem történik semmi.

a breakpoint-ot egy ilyen ciklusba tettem:

bool quit = false;
while(!quit)
{
    printw("Hello world");
    refresh();
}

---
Debian "lenny", 2.6.24-amd64