diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2012-05-24 23:08:09 +0200 |
---|---|---|
committer | Thomas Schwinge <thomas@codesourcery.com> | 2012-05-24 23:08:09 +0200 |
commit | 2910b7c5b1d55bc304344b584a25ea571a9075fb (patch) | |
tree | bfbfbc98d4c0e205d2726fa44170a16e8421855e /hurd/debugging/translator | |
parent | 35b719f54c96778f571984065579625bc9f15bf5 (diff) |
Prepare toolchain/logs/master branch.
Diffstat (limited to 'hurd/debugging/translator')
-rw-r--r-- | hurd/debugging/translator/capturing_stdout_and_stderr.mdwn | 37 | ||||
-rw-r--r-- | hurd/debugging/translator/gdb.mdwn | 53 |
2 files changed, 0 insertions, 90 deletions
diff --git a/hurd/debugging/translator/capturing_stdout_and_stderr.mdwn b/hurd/debugging/translator/capturing_stdout_and_stderr.mdwn deleted file mode 100644 index b7cfc3c9..00000000 --- a/hurd/debugging/translator/capturing_stdout_and_stderr.mdwn +++ /dev/null @@ -1,37 +0,0 @@ -[[!meta copyright="Copyright © 2008, 2009, 2010 Free Software Foundation, -Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled -[[GNU Free Documentation License|/fdl]]."]]"""]] - -Sometimes it may already be helpful to capture a translator's `stdout` and -`stderr`, for example in this situation where [[translator/pfinet]] was -silently dying all the time, without any console output: - - $ sudo settrans -fgap ↩ - /servers/socket/2 ↩ - /bin/sh -c '/hurd/pfinet -i eth0 -a [...] > /tmp/stdout 2> /tmp/stderr' - $ [...] - $ cat /tmp/stdout - NET4: Linux TCP/IP 1.0 for NET4.0 - IP Protocols: ICMP, UDP, TCP - TCP: Hash tables configured (ehash 65536 bhash 65536) - $ cat /tmp/stderr - pfinet: ../../hurd.work/pfinet/ethernet.c:196: ethernet_xmit: Unexpected error: (os/device) invalid IO size. - -(Trying to run [[GDB]] in this case was of no help -- due to a bug in GDB -(supposedly) it wouldn't catch the fault.) - -Be made aware that both `stdout` and `stderr` will be block bufferend and no -longer line buffered when doing such a redirection, so you'll have to arrange -for appropriate `fflush`es on these, or force them to be line buffered again -using the appropriate glibc magic (`setvbuf`). Otherwise you'll see text in -the output files only if either glibc herself decides to flush (after some KiB -of text) the after translator exits. - -There is also a [[related open issue|open_issues/translator_stdout_stderr]]. diff --git a/hurd/debugging/translator/gdb.mdwn b/hurd/debugging/translator/gdb.mdwn deleted file mode 100644 index 82a50736..00000000 --- a/hurd/debugging/translator/gdb.mdwn +++ /dev/null @@ -1,53 +0,0 @@ -[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled -[[GNU Free Documentation License|/fdl]]."]]"""]] - -Say you want to try running file system server ([[`ext2fs`|translator/ext2fs]], -[[`jfs`|translator/jfs]], ...) against a modified version of -[[`libpager`|libpager]] and debug the latter one using [[debugging/GDB]]. - -Set the [[hurd/translator]] like this: - - $ settrans -fgap ↩ - jfs.img.i ↩ - /usr/bin/env ↩ - LD_LIBRARY_PATH=~tschwinge/tmp/hurd/hurd.ogi/build/libpager ↩ - "$PWD"/jfs.obj/jfs ↩ - "$PWD"/jfs.img - -Then, when starting GDB, start it like this (or use an equivalent method, of -course): - - $ LD_LIBRARY_PATH=~tschwinge/tmp/hurd/hurd.ogi/build/libpager ↩ - gdb ↩ - ~tschwinge/tmp/jfs/jfs.obj/jfs 15436 - GNU gdb 6.5-debian - [...] - Reading symbols from /lib/libdiskfs.so.0.3...Reading symbols from /lib/debug/lib/libdiskfs.so.0.3...done. - done. - Loaded symbols for /lib/libdiskfs.so.0.3 - Reading symbols from /devel4/tschwinge/tmp/hurd/hurd.ogi/build/libpager/libpager.so.0.3...done. - Loaded symbols for /devel4/tschwinge/tmp/hurd/hurd.ogi/build/libpager/libpager.so.0.3 - Reading symbols from /lib/libstore.so.0.3...Reading symbols from /lib/debug/lib/libstore.so.0.3...done. - done. - Loaded symbols for /lib/libstore.so.0.3 - [...] - (gdb) break pager_demuxer - Breakpoint 1 at 0x105c98d: file ../../libpager/demuxer.c, line 27. - [...] - Breakpoint 1, pager_demuxer (inp=0x12bded0, outp=0x12bbec0) at ../../libpager/demuxer.c:27 - 27 { - (gdb) list - 22 /* Demultiplex a single message directed at a pager port; INP is the - 23 message received; fill OUTP with the reply. */ - 24 int - 25 pager_demuxer (mach_msg_header_t *inp, - [...] - -Voilà. |