From: Martin Str|mberg Message-Id: <199807102026.WAA04313@father.ludd.luth.se> Subject: Re: info core dumps To: eliz AT is DOT elta DOT co DOT il (Eli Zaretskii) Date: Fri, 10 Jul 1998 22:26:33 +0200 (MET DST) Cc: djgpp-workers AT delorie DOT com (DJGPP-WORKERS) In-Reply-To: from Eli Zaretskii at "Jul 8, 98 11:51:21 am" MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Precedence: bulk According to Eli Zaretskii: > > How can I see what the info is set for a certain segment in gdb? I > > mean "p $ds" shows me what %ds is set to, but not it's base and > > limit? > > Another question: "p *$eax" (or perhaps it was "p *($eax)") let me > > look at the contents at the address %eax points to, but what command > > lets me look at the contents at the address %gs:%eax? > > If you mean to access data in segment other than DS, then you can't do > that in GDB directly. You need to call a C function like dosmemget > for that, assuming that it's linked into the debugged program. > > The same goes for selector data: call the appropriate C function from > the GDB prompt. Hmm. But how do I get the base address as that function expects an argument of type 'int *'? Another question, suppose ds's base address is 0x1000 and edx is 0x100, is the address edx points to 0x100 or 0x1100? Yes, Open Your Eyes, MartinS