This is the mail archive of the
gdb@sourceware.cygnus.com
mailing list for the GDB project.
Re: Debugging Windows Namespace extension dll
- To: gdb at sourceware dot cygnus dot com
- Subject: Re: Debugging Windows Namespace extension dll
- From: Mark Hindley <mh15 at st-andrews dot ac dot uk>
- Date: Fri, 19 Nov 1999 11:33:10 +0000
Chris,
I have tracked down the Access Violation. It was in gdb. What it didn't
like was the fact that I had inherited 2 interfaces into the same class
implementation
class ShellFolder : public IShellFolder, IPersistFolder
{
}
This compiled fine, but caused gdb to choke.
I have now separated them out to different implementations, and gdb loads
the dll fine. It is abit inconvenient. I am not sure why gdb wont allow
multiple inheritances.
As far as actually debugging the dll, I still can't do it. Even putting
breakpoints on line numbers still fails.
This is what I am doing:
GNU gdb 4.18
Copyright 1998 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-mingw32".
(gdb)
exec-file /windows/explorer.exe
symbol-file macem.dll
set args /root, {53161ce0-56af-11d3-abb2-444553540001},
l CompObj.cpp:10
l CompObj.cpp:10
5 #include <windows.h>
6 #include <wTypes.h>
7 #include <objbase.h>
8 #include <initguid.h>
9 #include "MacEm.h"
10 #include "version.h"
11 #include "Classfac.h"
12
13 int cObject = 0 ;
14 int cLockCount = 0 ;
(gdb) tb 13
tb 13
Breakpoint 1 at 0x661811a0: file CompObj.cpp, line 13.
(gdb) r
r
Starting program: /windows/explorer.exe /root,
{53161ce0-56af-11d3-abb2-444553540001},
bfb90000:C:/WINDOWS/SYSTEM/COMCTL32.DLL
bfb50000:C:/WINDOWS/SYSTEM/SHLWAPI.DLL
bff60000:C:/WINDOWS/SYSTEM/USER32.DLL
bff30000:C:/WINDOWS/SYSTEM/GDI32.DLL
bff70000:C:/WINDOWS/SYSTEM/KERNEL32.DLL
bfed0000:C:/WINDOWS/SYSTEM/ADVAPI32.DLL
Cannot insert breakpoint 1:
Cannot access memory at address 0x661811a0.
(gdb)
Am I doing something silly?
Thanks for your help