extracting info from a minidump via winedbg

Eric Pouech eric.pouech at wanadoo.fr
Sat Mar 31 15:16:19 CDT 2007


Dennis Schridde a écrit :
> Am Freitag, 30. März 2007 schrieb Eric Pouech:
>   
>> 2007/3/29, Dennis Schridde <devurandom at gmx.net>:
>>     
>>> Am Donnerstag, 29. März 2007 schrieb Eric Pouech:
>>>       
>>>> Dennis Schridde a écrit :
>>>>         
>>>>> Hello Wine users!
>>>>>
>>>>> I've got a minidump from a ("real") Windows user of our game and
>>>>> would like to extract information from it using winedbg.
>>>>>
>>>>>
>>>>> The information winedbg gives me by default, is this:
>>>>>
>>>>> [...]
>>>>>
>>>>> Which is pretty rare.
>>>>> Via addr2line I can translate the backtrace to possibly valid
>>>>>           
>>> locations
>>>
>>>       
>>>>> in our sourcefiles.
>>>>>
>>>>>
>>>>> My questions are:
>>>>> - Why doesn't winedbg extract the sourcecode locations itself?
>>>>>           
>>>> because it needs the original PE files (.exe, .dll) to get to the debug
>>>> information
>>>> those files must be seated in directories listed in the _NT_SYMBOL_PATH
>>>> environment variable
>>>>         
>>> Maybe I am just doing it wrong, but
>>> _NT_SYMBOL_PATH=. winedbg warzone2100.mdmp
>>> doesn't change anything... (Even supplying the full path doesn't.)
>>> The exe (not all dlls, because I don't have a copy of the user's system)
>>> is of
>>> course in the working directory.
>>>       
>> But the debug info is not always in the .exe itself. the .exe can contain
>> only a pointer to the debug info
>>     
> This exe was compiled using the GCC switch "-g" and was not striped 
> afterwards, it is ~10MB big (the usual size of our app when compiled in debug 
> mode) and winedump drops a long list of I don't know what when I 
> run "winedump -G warzone2100.exe".
>
>   
>> what does 'winedbg -x debug -g warzone2100.exe' give ?
>>     
> Usage information...
>
> winedbg has neither a -x nor a -g parameter.
> winedump has a -x parameter (which takes no option) and a -G parameter. It 
> complains about not being able to treat multiple files.
> So you probably meant a completely different tool...
>   
I actually meant
winedump dump -x debug -G warzone2100.exe
>   
>>>> - Why doesn't winedbg show me the other information included in the
>>>>
>>>>         
>>>>> minidump, like the loaded modules, commandline options or version
>>>>> information?
>>>>>           
>>>> 'info share' should do part of it... winedbg doesn't show the command
>>>> line info nor options
>>>>         
>>> That only shows me the memory ranges of some modules. The minidump
>>> includes
>>> more info, like the paths to dlls and similar. I am not sure whether it
>>> includes version information, but it certainly contains the commandline
>>> used
>>> to start the app.
>>>
>>>       
>>>> other thing you can do is to use winedump (man winedump)
>>>>         
>>> How do I do this? And what will it provide? I tried
>>> winedump -G warzone2100.exe
>>> but I have no idea what I shall do with that tremedously long and cryptic
>>> list.
>>>       
>> winedump warzone2100.mdmp
>>     
> This is actually useful. Things like file versions, modules and so on are 
> printed. What's still missing (and only visible in the binary listing 
> of "Memory ranges" is the commandline.
> Are there plans to make this info accessible from winedbg?
> Or to include things like backtrace information into winedump?
>   
the backtrace will be visibel in winedbg
the command line will not be available, as it's not store (as a command 
line) in the minidump
it's present because the minidump contains stack fragments, and the 
command occurs to be on the stack, but there's no easy way to link the two

can you directly send me your .mdmp and .exe file so I can have a look 
at the details
> --Dennis
>   
> ------------------------------------------------------------------------
>
>
>   


-- 
Eric Pouech
"The problem with designing something completely foolproof is to underestimate the ingenuity of a complete idiot." (Douglas Adams)





More information about the wine-devel mailing list