Sponsored Content
Full Discussion: GDB and GCC union
Top Forums Programming GDB and GCC union Post 302504786 by jim mcnamara on Tuesday 15th of March 2011 12:05:44 PM
Old 03-15-2011
The linux debugger is based on the ptrace system call. Every different unix OS has its own version of ptrace - it may be called something else.

Consider looking at ptrace. Using the api for gdb will be more trouble than benefit.
Look into gprof and gcover as well. Consider that with all of the effort put into gcover, gprof, and gdb -- the people who have developed them over the past 15 years have got a handle on uses and presented them to us.

In other words, corona's assessment is correct - it ain't worth the time and frustration.
 

9 More Discussions You Might Find Interesting

1. Programming

Loading Gdb And Gcc In Unix System

Can any one help me out???? I need to install GDB and GCC in an UNIX machine. can any one point me to any lucid pointer to it. The gNU help on this is proving to be little tangential for me. (2 Replies)
Discussion started by: rraajjiibb
2 Replies

2. Shell Programming and Scripting

How to find union of two files

Is there a command in unix to find the union of two files and removing the union from one of the files? e.g. I have two files input1.txt and input2.txt with the contents below: $ more input1.txt 4 2 3 2 $ more input2.txt 5 4 4 8 2 I want to find the union of the two and... (7 Replies)
Discussion started by: stevefox
7 Replies

3. Shell Programming and Scripting

union of two files

Given two files of the same format (For example number1|text1|number2) what is the command to print lines in file1 which do not occur in file2? diff command seems a bit complicated for me for this purpose. Please help!! Thank you very much. (3 Replies)
Discussion started by: sherkaner
3 Replies

4. Solaris

Installing gcc - recieve error message gcc : cannot execute

AIM- Install Oracle 11g on Solaris using VMWare Steps 1.Logged on as root 2.Created subfolders à /usr/local/bin & /usr/local/bin/gcc 3.Downloaded gcc & libiconv & unzipped them on my harddrive & burnt them on CD 4.Copied files from CD to /usr/local/bin/gcc 5.Terminal (root) à pkgadd -d... (8 Replies)
Discussion started by: Ackers
8 Replies

5. UNIX for Advanced & Expert Users

Gdb:

Hi, This is a simple question on GDB. Given a core file, how can you check which process has dumped the core? Regards - Krishna (1 Reply)
Discussion started by: krishnamurthig
1 Replies

6. Shell Programming and Scripting

Text files union

How can i union two files that each of them contain text to one new file in unix shell scripting or in awk scripting language? (2 Replies)
Discussion started by: tal
2 Replies

7. Shell Programming and Scripting

awk: union regions

Hi all, I have difficulty to solve the followign problem. mydata: StartPoint EndPoint 22 55 2222 2230 33 66 44 58 222 240 11 25 22 60 33 45 The union of above... (2 Replies)
Discussion started by: phoeberunner
2 Replies

8. Web Development

Intersection and union of array by hash

Hi, A piece of script from Perl-cookbook I do not understand, and post here for explanation. The purpose is to find the element in either array (union), and in both array (intersection). Thank you in advance. @a=qw(1 3 5 6 7 8); @b=qw(2 3 5 7 9); foreach $e (@a, @b) {$union{$e}++ &&... (3 Replies)
Discussion started by: yifangt
3 Replies

9. Programming

Event driven programming / epoll / typedef union / session data array

Sorry for the “word salad” subject, but I wanted to cast a wide net for help. I've created an IP (Internet Protocol) server which serves HTTP, SMTP, and FTP requests. As you probably know, they all require creating a socket, listening on it, accepting connections, and then having a short... (3 Replies)
Discussion started by: John S.
3 Replies
LIBUNWIND-PTRACE(3)					       Programming Library					       LIBUNWIND-PTRACE(3)

NAME
libunwind-ptrace -- ptrace() support in libunwind SYNOPSIS
#include <libunwind-ptrace.h> unw_accessors_t _UPT_accessors; void *_UPT_create(pid_t); void _UPT_destroy(void *); int _UPT_find_proc_info(unw_addr_space_t, unw_word_t, unw_proc_info_t *, int, void *); void _UPT_put_unwind_info(unw_addr_space_t, unw_proc_info_t *, void *); int _UPT_get_dyn_info_list_addr(unw_addr_space_t, unw_word_t *, void *); int _UPT_access_mem(unw_addr_space_t, unw_word_t, unw_word_t *, int, void *); int _UPT_access_reg(unw_addr_space_t, unw_regnum_t, unw_word_t *, int, void *); int _UPT_access_fpreg(unw_addr_space_t, unw_regnum_t, unw_fpreg_t *, int, void *); int _UPT_get_proc_name(unw_addr_space_t, unw_word_t, char *, size_t, unw_word_t *, void *); int _UPT_resume(unw_addr_space_t, unw_cursor_t *, void *); DESCRIPTION
The ptrace(2) system-call makes it possible for a process to gain access to the machine-state and virtual memory of another process. With the right set of call-back routines, it is therefore possible to hook up libunwind to another process via ptrace(2). While it's not very difficult to do so directly, libunwind further facilitates this task by providing ready-to-use callbacks for this purpose. The routines and variables implementing this facility use a name-prefix of _UPT, which is stands for ``unwind-via-ptrace''. An application that wants to use the _UPT-facility first needs to create a new libunwind address-space that represents the target process. This is done by calling unw_create_addr_space(). In many cases, the application will simply want to pass the address of _UPT_accessors as the first argument to this routine. Doing so will ensure that libunwind will be able to properly unwind the target process. However, in special circumstances, an application may prefer to use only portions of the _UPT-facility. For this reason, the individual callback rou- tines (_UPT_find_proc_info(), _UPT_put_unwind_info(), etc.) are also available for direct use. Of course, the addresses of these routines could also be picked up from _UPT_accessors, but doing so would prevent static initialization. Also, when using _UPT_accessors, all the callback routines will be linked into the application, even if they are never actually called. Next, the application can turn on ptrace-mode on the target process, either by forking a new process, invoking PTRACE_TRACEME, and then starting the target program (via execve(2)), or by directly attaching to an already running process (via PTRACE_ATTACH). Either way, once the process-ID (pid) of the target process is known, a _UPT-info-structure can be created by calling _UPT_create(), passing the pid of the target process as the only argument. The returned void-pointer then needs to be passed as the ``argument'' pointer (third argument) to unw_init_remote(). The _UPT_resume() routine can be used to resume execution of the target process. It simply invokes ptrace(2) with a command value of PTRACE_CONT. When the application is done using libunwind on the target process, _UPT_destroy() needs to be called, passing it the void-pointer that was returned by the corresponding call to _UPT_create(). This ensures that all memory and other resources are freed up. AVAILABILITY
Since ptrace(2) works within a single machine only, the _UPT-facility by definition is not available in libunwind-versions configured for cross-unwinding. THREAD SAFETY
The _UPT-facility assumes that a single _UPT-info structure is never shared between threads. Because of this, no explicit locking is used. As long as only one thread uses a _UPT-info structure at any given time, this facility is thread-safe. RETURN VALUE
_UPT_create() may return a NULL pointer if it fails to create the _UPT-info-structure for any reason. For the current implementation, the only reason this call may fail is when the system is out of memory. FILES
libunwind-ptrace.h Headerfile to include when using the interface defined by this library. -lunwind-ptrace -lunwind-generic Linker-switches to add when building a program that uses the functions defined by this library. SEE ALSO
execve(2), libunwind(3), ptrace(2) AUTHOR
David Mosberger-Tang Email: dmosberger@gmail.com WWW: http://www.nongnu.org/libunwind/. Programming Library 16 August 2007 LIBUNWIND-PTRACE(3)
All times are GMT -4. The time now is 02:03 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy