RE: gdbserver 6.7.1 for mingw32ce connect to host gdb problem

Steve DeLaney
2007-12-16T23:14:53Z

Good suggestions. comments follow below.

summary: pilot error on my part. it turns out that gdbserver.exe MUST be
launched like this
gdbserver :9999 /path/test

and must NOT be launched as I attempted previously:
gdbserver.exe 169.254.2.2:9999 \\path\\test.exe

thanks to your support this is now working. I even tested out

ddd --debugger arm-wince-mingw32ce-gdb test.exe
target remote 169.254.2.1:9999
the session seems very responsive.

interesting test
b main
c
p argc
$1 = 1
p argv[0]
$2 = 0x260930 "\\path\test.exe"

so gdb although invoked with single forward slash,converts to double back
slash.

/steverino2

-----Original Message-----
From: gdb-owner@sourceware.org [mailto:gdb-owner@sourceware.org] On Behalf
Of Pedro Alves
Sent: Sunday, December 16, 2007 8:41 AM
To: onramp123@yahoo.com
Cc: gdb@sourceware.org
Subject: Re: gdbserver 6.7.1 for mingw32ce connect to host gdb problem

Steve DeLaney wrote:

> first I noticed that gdbserver needs a command line like this
>
> gdbserver.exe 169.254.2.2:9999 \\path\\test.exe
>
> without path to .exe it just exits with a usage message this is due to
> the fact that wince doesn't define a default (current) directory like
> '.'
>

1) gdbserver currently ignores host part in HOST:PORT, so you can
just use '$GDBSERVER :$PORT $PATH'.

2) There is *no* notion of current directory on Windows CE. On
WinCE, every path *must* be absolute. (There is an
hardcoded $PATH, that looks of executables in \Windows and \ )

Gdbserver allows you to use forward slashes too:
gdbserver.exe :9999 /path/test.exe

And skip the .exe extension:
gdbserver.exe :9999 /path/test

> Test over RNDIS and WLAN with the same results. gdbserver times out
> after about 8 seconds
>

I'm not sure what you're seeing. You should see something like
this:

\> gdbserver :9999 main
Process main created; pid=-1226757750
Listening on port 9999

[s] yes, I agree this is what I expected just other embedded versions of
gdbserver. in this case, when launched from powertools CMD shell (
gdbserver.exe :9999 /path/test) gdbserver just starts, waits approx 12
seconds, then returns to command prompt. but there are no messages on
stdout.

> I wondered about __MINGW32CE__ asserted in
> the make CFLAGS
>

Can you be more specific? (__MINGW32CE__ is automatically
defined by the mingw32ce compiler.)
[s] gotcha. yes I confirmed this with gdb -v
I can see now that __MINGW32CE__ options are enabled in the gdbserver build.

> any ideas what might be going on, or how best to trace this?

Looks like something is not 100% right in your tcp/ip
connection.
Can you ping the host from the device ?
[s] yes on RNDIS ping 169.254.2.1, on WLAN at 192.168.3.118

Is there any firewalling involved ?
[s] No, all inside firewall on single subnet. RNDIS emulates a network
connection so it is point-to-point over USB, no?

Can you start gdbserver listening on 9999, and telnet it (to
remove gdb from the picture) with 'telnet $ip 9999' ?
[s] this did not work (telnet client gets "connection refused" So gdbserver
is not listening on the port

--
Pedro Alves