-
Notifications
You must be signed in to change notification settings - Fork 0
/
FAQ
96 lines (77 loc) · 3.83 KB
/
FAQ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
Section I General Information
1. What is CGDB?
CGDB is a curses-based interface to the GNU Debugger (GDB).
The goal of CGDB is to be lightweight and responsive; not encumbered with
unnecessary features. The interface is designed to deliver the familiar
GDB text interface, with a split screen showing the source as it executes.
The UI is modeled on the classic Unix text editor, vi. Those familiar with
vi should feel right at home using CGDB.
2. Where can I get CGDB?
The CGDB project is hosted on http://sourceforge.net/. You can view the
project by going to http://sourceforge.net/projects/cgdb/. Alternatively,
CGDB's home-page is at http://cgdb.sourceforge.net/.
3. What OS does CGDB work on?
CGDB is used daily on
Linux 2.4.18
Cygwin 1.3.22 (NT,2000,XP)
Solaris 5.7,5.8,5.9
it has been reported to work on
AIX
FreeBSD
NetBSD
and more
If you have ported or just got CGDB to compile on another OS,
please let us know.
Section II Installing CGDB
1. How do I install CGDB?
CGDB can be installed by compiling it from sources. Goto CGDB's home
page to get them. Also, there is binary release's of CGDB for different
distrobutions.
Look at http://cgdb.sourceforge.net/download.shtml for more information.
2. What dependencies does CGDB have?
CGDB could not have been written without the use of other libraries.
1. CGDB depends on readline-development-5.1 or greater.
If you don't have this, you might get a link error that looks something
like this, 'undefined symbol, rl_set_prompt'.
2. CGDB depends on ncurses/curses. The version number is not known.
I have used libncurses.so.5 successfully.
3. If you decide to modify the tokenizer library or the config
file module, you will need to have flex installed.
I have used flex 2.5.4 to build CGDB.
4. CGDB uses autoconf/automake to build its configure scripts and
makefiles. At the time of this writing, CGDB was using
* aclocal (GNU automake) 1.9.5
* autoconf (GNU Autoconf) 2.59
* m4 (GNU m4) 1.4.3
Section III Problems
1. Why do some keys not work properly for me in CGDB?
CGDB is proud of its custom key input library. This is because
it *can* use the ESC key, without having problems understanding
escape sequences that are generated when certain keys are hit.
Some of the keys that generate escape sequences are the arrow keys,
page up, page down, insert, delete, home, end and all the function
keys.
If you have problems using any of the keys above, you should modify
the value of escdelay. Please look at the README file for more
information on escdelay.
2. Why does CGDB not work when a tty can not be opened?
There are 2 problems with this.
a) The annotate 2 communication protocol used between CGDB and GDB is
lacking. It is difficult ( at best ) to figure out which output is GDB
and which output is the inferior program. It is impossible to send input
to the inferior program without error.
To solve this CGDB used the tty command to be able to allow the user to send
data to the inferior program. It also can easily determine which data is
from the inferior and which data is from GDB.
b) Readline can not be used if there is no tty available.
All in all, not allowing CGDB to work when there is no tty is a bug. In
the future, when CGDB will work when no tty is available, there will be
several features that do not work.
1) No sending input to the inferior program. The work around is to
start the program from the terminal and attach to it using GDB.
2) Readline will not work.
Section IV Using CGDB
1. How do I automate colon commands using the cgdbrc file?
CGDB looks at the file $HOME/.cgdb/cgdbrc. It executes each of the lines
in that file in order as if they were typed into the status bar. This is
a very useful way of automating commands.