debugging a dll

Dan Timis timis at museresearch.com
Fri Jul 30 19:17:42 CDT 2004


Hi,

Someone sent me a debug version of a Windows dll and a map file.  I'm  
not a Windows programmer, and I'm not sure how to use the map fiile.   
For instance, I get a runtime error dialog.  With backtrace in winedbg  
I get this:

...
   29 0x400bf58d (NTDLL.DLL.RtlRaiseException+0x5 in NTDLL.DLL)  
(ebp=4083f9dc)
   30 0x100771e9 (LIBDEBUG.DLL.EntryPoint+0x1609 in LIBDEBUG.DLL)  
(ebp=4083fa1c)
   31 0x10097138 (LIBDEBUG.DLL.NIUIAEntry+0x1ad8 in LIBDEBUG.DLL)  
(ebp=4083fa8c)
   32 0x100012b2 (LIBDEBUG.DLL..text+0x2b2 in LIBDEBUG.DLL)  
(ebp=4083fbf8)
...

I assume that everything above NTDLL.DLL.RtlRaiseException is just code  
to put up the dialog box, and that the problem is at 0x100771e9  
(LIBDEBUG.DLL.EntryPoint+0x1609...

If I look for 0x100771e9 in the map file, the closest thing I find is  
this:

  0001:00076ed0       _realloc                   10077ed0 f    
LIBCMTD:dbgheap.obj
  0001:00076f00       __realloc_dbg              10077f00 f    
LIBCMTD:dbgheap.obj
  0001:000774b0       __expand                   100784b0 f    
LIBCMTD:dbgheap.obj
  0001:000774e0       __expand_dbg               100784e0 f    
LIBCMTD:dbgheap.obj

Am I correct to assume that realloc_dbg throws an exception?

If I look for 0x100012b2 (LIBDEBUG.DLL..text+0x2b2), the closest I find  
is:

  0001:000011d0        
?_Grow@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@AAE_ 
NI_N at Z...

That would make sense, we are trying to grow a string, calling realloc,  
etc.  The entry in the middle:

   31 0x10097138 (LIBDEBUG.DLL.NIUIAEntry+0x1ad8 in LIBDEBUG.DLL)  
(ebp=4083fa8c)

points to:

  0001:00097140        
?onEvent at Application@UIA at NI@@MAE_NIPAVEventData at 23@@Z ...

I don't understand how this relates to the other two.

Are there any tools that could help understand better what's going on?   
Are there any tools to demangle the C++ names?  I tried c++filt and not  
surprisingly it did not understand these symbols.

Thanks,

Dan Timis
Muse Research, Inc.




More information about the wine-devel mailing list