From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20993 invoked by alias); 25 Aug 2008 18:10:07 -0000 Received: (qmail 20977 invoked by uid 22791); 25 Aug 2008 18:10:06 -0000 X-Spam-Check-By: sourceware.org Received: from smtp-outbound-1.vmware.com (HELO smtp-outbound-1.vmware.com) (65.113.40.141) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 25 Aug 2008 18:09:09 +0000 Received: from mailhost2.vmware.com (mailhost2.vmware.com [10.16.64.160]) by smtp-outbound-1.vmware.com (Postfix) with ESMTP id F078F640A; Mon, 25 Aug 2008 11:09:07 -0700 (PDT) Received: from [10.20.92.47] (promb-2s-dhcp47.eng.vmware.com [10.20.92.47]) by mailhost2.vmware.com (Postfix) with ESMTP id E731F8E901; Mon, 25 Aug 2008 11:09:07 -0700 (PDT) Message-ID: <48B2F4AD.9020106@vmware.com> Date: Wed, 27 Aug 2008 15:22:00 -0000 From: Michael Snyder User-Agent: Thunderbird 1.5.0.12 (X11/20080411) MIME-Version: 1.0 To: Bjorn Helgaas CC: "gdb@sourceware.org" Subject: Re: read/write arbitrary files References: <200808251040.08733.bjorn.helgaas@hp.com> <48B2EA7E.7030501@vmware.com> <200808251150.57002.bjorn.helgaas@hp.com> In-Reply-To: <200808251150.57002.bjorn.helgaas@hp.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2008-08/txt/msg00276.txt.bz2 Bjorn Helgaas wrote: > On Monday 25 August 2008 11:23:10 am Michael Snyder wrote: >> Bjorn Helgaas wrote: >>> I'd like to use gdb to examine and update arbitrary files. In >>> particular, I'd like to disassemble and patch files like /dev/mem >>> that are not in executable or core formats. >>> >>> Is there already a way to do this? If not, could there be? This >>> was a very useful feature of adb. >> It's not really what gdb is good for. >> Arbitrary files such as /dev/mem have no symbols and no types. >> It should be easy to either use an existing hex editor, or >> write one to do this sort of patching. This tool could be >> orders of magnitude less complicated than gdb. > > The hex editor part is easy. I know how to do that already. > > The disassembly part is much harder, and this is the part > I'm looking for. It'd be very handy to use all the > disassemblers and the well-known user interface of gdb. > > Another useful feature of gdb is its knowledge of types. It > would be convenient to be able to read type information from > an executable, then use that information to format structures > from /dev/mem. I see. Well, if it were me, I think I would write a little proxy program that could read /dev/mem, and then serve memory packets to gdb using a socket and the gdb remote protocol, after the fashion of gdbserver.