From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7099 invoked by alias); 12 Jun 2002 05:30:51 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 7075 invoked from network); 12 Jun 2002 05:30:46 -0000 Received: from unknown (HELO exchsh01.viatech.com.cn) (152.104.237.33) by sources.redhat.com with SMTP; 12 Jun 2002 05:30:46 -0000 Received: by exchsh01.viatech.com.cn with Internet Mail Service (5.5.2650.21) id ; Wed, 12 Jun 2002 13:33:58 +0800 Message-ID: From: "Lawrence Lee (Shanghai)" To: 'Kevin Buettner' Cc: gdb Subject: RE: The question about the relation between gdb and the programme debugged Date: Tue, 11 Jun 2002 22:30:00 -0000 MIME-Version: 1.0 Content-Type: text/plain; charset="GB2312" X-SW-Source: 2002-06/txt/msg00092.txt.bz2 Thank you very much!! ^_^ -----Original Message----- From: Kevin Buettner [mailto:kevinb@redhat.com] Sent: Wednesday, June 12, 2002 12:26 AM To: Lawrence Lee (Shanghai); gdb Subject: Re: The question about the relation between gdb and the programme debugged On Jun 11, 9:33am, Lawrence Lee (Shanghai) wrote: > But how does the gdb process access the memory spaces in the program being > debugged? It depends. For a "native" debugger, the operating system's kernel provides an interface by which the debugger can read/write the memory of the process being debugged. On GNU/Linux (and many other unices), ptrace() is the interface by which the debugger accesses and controls memory, registers, and other aspects of the inferior program. "Pure" SVR4 systems use the use the /proc filesystem for this interface. For a remote debugger, the target machine has a debugging "stub" running on it which provides access to memory, registers, etc. (GDB communicates with the stub via a serial port, ethernet, usb, etc.) The stub may use the same type of interface as described above for a native debugger to access memory, registers, etc. Or, if the OS on the target in question is not very sophisticated, it may simply access memory directly. > If the object program uses ioperm and iopl to get the permission to > read(write) IO port, can the gdb access the IO port also? Again, it depends. On most unix systems, this sort of thing is a security hole and is usually disallowed. But when using a "cross" debugger with a remote board, it may be that the OS of the board will allow access it IO ports. Kevin