Subject: gdb using tcl interface
From: [email-masked] (Kris Thielemans)

27 Mar 1998 01:57:38 -0800
Message-ID: <[email-masked]>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
To: "Gnuwin" <[email-masked]>

Hi,

I've just installed b19.1, egcs 1.02 and Mumit's fixed tcl/tk files (.dll
and .exe).
I'm running gdb from bash, giving me the nice tcl/tk interface.
This works generally ok (all (source/disassembly, register..) windows open
up fine and get updated correctly). I do have problems with the command
window however. Possibly, this is not gnu-win related, but just gdbtk. If
so, could someone tell me where I should post this ?

A) clicking with the mouse somewhere in the command window (not at the
prompt), gives very confusing things. especially backspace, which does not
delete characters at the prompt, but where the whole lines where mouse click
occured.

B) under some circumstances the previous input is added to the current
input. For example, I start a new session with a file, open the assembly
window. Go to the command window and type something (e.g. "help"). I get an
error dialog box, with the following stack trace

can't read "current_asm_label": no such variable
    while executing
"if {$current_asm_label != "$pc $funcname"} then {
 wm title .asm "$pc $funcname"
 set current_asm_label "$pc $funcname"
    }"
    (procedure "update_assembly" line 49)
    invoked from within
"gdb_loc"
    (procedure "update_ptr" line 4)
    invoked from within
"update_ptr"
    (procedure "interactive_cmd" line 5)
    invoked from within
"interactive_cmd $command_line"
    (command bound to event)

After this, all input will be accumulated (e.g. typing once more "help" will
result in an error "Undefined command helphelp"). There seems to be no way
to get rid of this (backspace doesn't do anything sensible).

As an example, I include the command window when my first command was "break
main":

gdb) break main
can't read "pclist()": no such variable
Breakpoint 1 at 0x40104b: file Numeric.cxx, line 180.
r
Function "mainr" not defined.

C) Minor quibles:

- left/right arrow keys don't work for command line editing, neither do C-f,
C-b.

-when (accidentally) stepping out of the main function, the command window
displays:

Single stepping until exit from function main,
which has no line number information.
Cannot access memory at address 0x2000000.

That's reasonable I suppose. However, I get also an error dialog box with
stack trace :
can't read "pclist(_size_of_stack_reserve__)": no such element in array
    while executing
"pc_to_line $pclist($cfunc) $pc"
    (procedure "update_assembly" line 42)
    invoked from within
"gdb_loc"
    (procedure "update_ptr" line 4)
    invoked from within
"update_ptr"
    (procedure "interactive_cmd" line 5)
    invoked from within
"interactive_cmd $command_line"
    (command bound to event)

After pressing OK, the assembly disappears (the source window is empty with
a title "Blank:
_size+of+stack_reserve()"), and everything is fine again.

- when using 'step' into a function, a diagnostic message with file and line
number info is displayed on the command window. However, when using the
'step' button on the Source window, no new prompt is generated, confusing me
drastically in the beginning.

Incidentally, how do I run gdb from NTemacs ? I suppose I'll put some lines
in my .emacs to get CR/LF working. Can anyone help me on this ? (telling me
in the mean time where to put my .emacs file, I can't get ntemacs to fin dit
apparently).

Also, how do I run gdb without the tk interface ?

Kris

While I'm taking some bandwidth. How should I mount things when not
installing the distribution on c: ? People seem to think I better mount that
location binary. Do my mounts below do this ?

---------------------------------------
Configuration info:
NT 4 sp3

I installed the distribution on d:

From the mailing list, I added the following lines to my cygnus.bat:
SET TIX_LIBRARY=/usr/share/tix4.1/
SET TK_LIBRARY=/usr/share/tk8.0/
(after doing a binary mount of d:\cygnus\b19 on /usr)

Here is my mount table:
bash-2.01$ mount
Device           Directory           Type        Flags
d:\Cygnus\B19    /usr                native      text=binary
d:               /home               native      text!=binary
\\.\tape1:       /dev/st1            native      text!=binary
\\.\tape0:       /dev/st0            native      text!=binary
\\.\b:           /dev/fd1            native      text!=binary
\\.\a:           /dev/fd0            native      text!=binary
c:               /                   native      text!=binary

-
For help on using this list (especially unsubscribing), send a message to
"[email-masked]" with one line of text: "help".