Sponsored Content
Full Discussion: Cross target debugging
Top Forums Programming Cross target debugging Post 302539341 by dragonpoint on Saturday 16th of July 2011 07:54:01 PM
Old 07-16-2011
basically i run "gdbserver remote:80 ./test" on an i386 target platform. On host i do gdb test. Then on gdb prompt--
target remote <targetIP:80>
break main
cont

it breaks at main, when i do next to single step i get
0x08048810 in printf@plt ()
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Regarding Debugging

Hi, If we want to debug a shell script, then set -vx has to be included in the begining of the script. Just i want to know what purpose -vx is used. Thanks in advace Sarwan (2 Replies)
Discussion started by: sarwan
2 Replies

2. Programming

Semaphore debugging

I'm running one multithreaded application, in that one of my thread is waiting infinitely in a semphore. Is there a way to determine, in which semaphore the particular thread is waiting and which thread(s) is holding the semaphore. (5 Replies)
Discussion started by: ptprabu
5 Replies

3. Solaris

debugging

when I tried to debug my application i got the following. gdb -v GNU gdb 6.6 file is in C and Xmotiff Languages (gdb) attach 25499 Attaching to process 25499 Retry #1: Retry #2: Retry #3: Retry #4: 0xfea40b68 in ?? () (gdb) where #0 0xfea40b68 in ?? () (0 Replies)
Discussion started by: satish@123
0 Replies

4. Programming

Need some help in debugging the C-Progam.

Hi i want to debug the C program with GDB debugger. I want to debug the program by line by line. I want to debug program like as we debug the program in Turbo-C using the F8. Can any one help me? I know i have to use single stepping. But i don't know how to use it. Any help can be appreciated..... (5 Replies)
Discussion started by: ps_sach
5 Replies

5. Shell Programming and Scripting

script debugging

is there any way you can add a breakpoint in a script so you can stop on it? i have used -xv in my shebang but the script just runs and i want it to stop at a specific point in the script. appreciate any help. (1 Reply)
Discussion started by: npatwardhan
1 Replies

6. Programming

c++ debugging

hey i have a problem with a switch case in program and the debugger is messy has hell ( we use normal VI and gdb in our schoool to make it more diffiacult) any way i have a problom where for some unknown reason the debugger just skips a switch statment as if it wasent even there the rest... (2 Replies)
Discussion started by: gotenxds
2 Replies

7. Shell Programming and Scripting

Debugging functions

So here I have a simple function that I wish to debug. However, I am unable to debug the desired function even with set -o functrace enabled. Before resorting to asking this question, I had managed to find a possible solution that did not produce the desired results, which is located here. How... (5 Replies)
Discussion started by: BrandonD
5 Replies

8. HP-UX

After adding new iscsi target port, still the session state of that target port is showing offline

Hi, I wanted to configure new iscsi port on HPUX system, i added the target port address and configured it, once done, went to array side and searched for that host iqn number , but was nt able to find the same, came to host, then when i ran "iscsiutil -pVS" command it gave me below result ... (0 Replies)
Discussion started by: Vinay Kumar D
0 Replies

9. UNIX for Beginners Questions & Answers

Debugging Help needed

I am VERY much a neophyte with shell scripting. I am working on the following, "Create a script sends an email message to the user specified on the command line if any of the file systems at more than 60% of capacity. The script should not process special file systems as /proc on the... (2 Replies)
Discussion started by: doghouse308
2 Replies
fwkdp(1)						    BSD General Commands Manual 						  fwkdp(1)

NAME
fwkdp -- FireWire KDP Tool SYNOPSIS
fwkdp [--setargs[=boot-args]] [--proxy] [--gdb] [--core] [--verbose] [--disable] [--erase] [--ioff] [--restart] [--help] DESCRIPTION
Use fwkdp to act as a proxy for the kernel debugging KDP protocol over FireWire. It will also accept kernel core dump images transmitted over FireWire. Additionally, fwkdp can be used to set the boot-args necessary for a target machine which is to be debugged. As a complete technology, FireWireKDP redirects the kernel debugging KDP protocol over FireWire. It enables live GDB debugging of a trapped kernel over a FireWire cable, just as you would over Ethernet. It provides the following advantages over remote Ethernet kernel debugging: - Available sooner in the kernel's startup. - Available until right when the cpu is powered down at sleep and almost as soon as the cpu is powered when waking. - No IP network configuration is required. FireWireKDP also enables Remote Kernel Core Dumps over FireWire. This allows you to debug a static kernel at a later time without the need to be connected at the time of debug. To enable kernel core dumps, see section "CORE DUMPS". For more info on debugging with Kernel Core Dumps, please see: Technical Note TN2118: Debugging With Kernel Core Dumps. FireWireKDP works in two parts: kernel software on the target side (machine to be debugged) and user-space software on the side of the host. Now, the target side software is integrated into the OS. This means that AppleFireWireKDP.kext is no longer necessary. See the installation instructions below. OPTIONS
--setargs[=boot-args], -r[boot-args] Sets the nvram boot-args on the current machine to boot-args. This flag should only be used on the target machine (which is contrary to all other usage cases, when it is used on the host). If boot-args is not passed, the tool will prompt the user as to which boot- args are to be set. --proxy, -p Use proxy mode only. --gdb, -g Use proxy mode only and automatically start gdb as a child process. --core, -c Use core dump receive mode only. --verbose, -v Verbose mode. --disable, -x Sets the nvram boot-args on the current machine to "debug=0x146" which disables kprintf logging. This flag should only be used on the target machine (which is contrary to typical usage cases, when this tool is used on the host). --erase, -e Deletes the boot-args variable from nvram. This flag should only be used on the target machine (which is contrary to typical usage cases, when this tool is used on the host). --ioff Turns off interactive mode. --restart Automatically restarts the machine only after the nvram has been modified by this tool. --help, -h Displays usage info for fwkdp. COMPATABILITY
FireWireKDP doesn't interfere with the loading of the normal FireWire stack - it only touches the FireWire hardware when the kernel debugger is invoked, either by a panic, NMI, trap, or similar. Furthermore, FireWireKDP is designed to work cooperatively with FireWireKPrintf. To use both you must use a combination of boot-args such as "debug=0x14e kdp_match_name=firewire". USAGE
Connect two Macs via FireWire and follow the steps below. On the target (machine to be debugged): 1. Use fwkdp to set the kernel boot arguments to enable live debugging: % fwkdp -r If using FireWireKDP with FireWireKPrintf try: % sudo nvram boot-args="debug=0x14e kdp_match_name=firewire" 2. Reboot the target. 3. Break into debug mode as you would with Ethernet. (NMI button, panic, debugger traps, etc.) On the debugger machine: 1. Run fwkdp: % fwkdp The FireWireKDP tool defaults to both proxy and core-dump receive mode. It is a stateless translator that shunts data between the network KDP/UDP port and the FireWire connection. Once started it can be left running indefinitely. 2. Run GDB with the target operating system's symbol file. % gdb mach_kernel See the Apple Development Kits webpage for the proper "Kernel Debug Kit" which will contain the proper "mach_kernel" symbol file. See step 6 for more info. 3. Within GDB, load the appropriate "kgmacros" (commonly found along with symbolic mach_kernel). (gdb) source kgmacros 4. Within GDB set the target to remote-kdp. (gdb) target remote-kdp 5. Within GDB, attach using kdp-reattach. (gdb) kdp-reattach localhost 6. The connection should be established. Use gdb as you would over Ethernet. 7. For more info on remote kernel debugging, please see "Two-machine Debugging" of the I/O Kit Device Driver Design Guidelines and Technical Note TN2118: Debugging With Kernel Core Dumps. CORE DUMPS
To capture kernel core dumps, set the proper bits of the boot-args' debug variable and kdp_match_name equal to "firewire". In addition, an IP address for the receiving computer is also required, although it's meaningless over FireWire. On the target machine, set the boot-args and restart. % sudo nvram boot-args="debug=0xd46 _panicd_ip=1.2.3.4 kdp_match_name=firewire" Connect the machine to be debugged to a second Mac with a FireWire cable. Run "fwkdp" from a Terminal window on the second Mac; it will wait for the target to transmit it's core after it drops to the debugger (panic, NMI, etc.). For more info on the debugging with Kernel Core Dumps, please see Technical Note TN2118: Debugging With Kernel Core Dumps. NOTES
Post-Panic Hot-Plugs Some Macs do not support post-panic debugging after hot-plugging another Mac. To avoid this problem, keep a debugger Mac connected in anticipation of a panic. 64-bit Debugging FireWireKDP does work when running the kernel in 64-bit mode. Sleep/Wake Notes FireWireKDP will work if the target has been through a sleep/wake cycle. However, if FireWireKDP has run (e.g. drop into debugger and conitnue) on the target once, it might not work again if the machine is sleep/wake cycled afterwards. Therefore, if you would like to debug a sleep/wake issue with FireWireKDP, do not sleep between breaks to the debugger. Other FireWire Devices To avoid conflicts it is best not to have other FireWire devices plugged into the host or target machines while using any FireWire debugging tools. However, it is possible to connect more than one target machine to a single host (e.g. to collect core dumps). Second FireWire Interface FireWireKDP does not work on multiple FireWire interfaces. Please use a built-in FireWire port without installing any FireWire add-in cards. FILES
/usr/bin/fwkdp is installed as part of the Mac OS X Developer Tools. SEE ALSO
fwkpfv(1) Mac OS X September 18, 2008 Mac OS X
All times are GMT -4. The time now is 08:42 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy