GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  MACH-CMD (3)

NAME

attachargs, attachcore, attachdynamic, attachproc, proctextfile - debugging processes and core files

CONTENTS

Synopsis
Description
Source
Bugs

SYNOPSIS

#include <u.h>
#include <libc.h>
#include <mach.h>

int   attachcore(Fhdr *hdr)

int   attachproc(int pid)

int   attachdynamic(void)

char* proctextfile(int pid)

int   attachargs(int argc, char **argv, int omode)

externFhdr*symhdr;
externchar*symfil;
externMap* symmap;
externFhdr*fhdrlist;




externFhdr*corhdr;
externchar*corfil;
externMap* cormap;




externint  corpid;
externRegs*correg;

DESCRIPTION

These routines provide access to the objects a typical debugger manipulates: an executable binary, some number of shared libraries, a memory image in the form of a core dump or active process, and a register set.

The maintained state is:
symhdr The file header for the main binary.
symfil The file name of the main binary.
symmap The memory map of the main binary.
fhdrlist
  A linked list (via the Fhdr.next fields) of all currently open headers (see symopen in mach-symbol(3)). When dynamically linked objects have been attached, they are present in this linked list, and therefore included in searches by indexsym, lookupsym, and findsym (see mach-symbol(3)).
corhdr The file header for the core dump, if any.
corfil The file name of the core dump, if any.
cormap The memory map of the core dump or attached process.
corpid The process id of the attached process, if any.
correg The register set of the core dump or attached process. If these fields are not valid, they are zeroed.
Attachcore and attachproc attach to an opened core file or an executing process. They set corhdr, corfil, cormap, corpid, and correg.

Proctextfile returns the name of the main binary for the process with id pid.

Attachdynamic requires that the memory image already be attached. It reads the dynamic linker’s internal run-time data structures and then opens all the dynamic objects that are currently loaded.

Attachargs uses all of these functions while parsing an argument vector as would be passed to a debugger like db(1) or acid(1). It expects a list of executable files, core dump files, or process ids, given in any order. If extra arguments are given (for example, more than one executable, or both a core dump and a process id), they are ignored and diagnostics are printed to standard error. If arguments are missing (for example, the process id is given without an executable file), attachargs fills them in as best it can.

SOURCE

/usr/local/plan9/src/libmach

SEE ALSO

mach(3), mach-file(3), mach-map(3)

BUGS

The interface needs to be changed to support multiple threads, each with its own register set.
Search for    or go to Top of page |  Section 3 |  Main Index


MACH-CMD (3) -->

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.