Alban Browaeys a écrit :
I still have to find why (probably gcc related) but under debian sid (no
problems under lenny, have not tested squeeze yet) "winedbg --gdb regedit"

trigger an infinite loop error:
$  winedbg --gdb regedit
0017:0018: create process 'C:\windows\system32\regedit.exe'/0x110640
@0x7eb62c04 (0<0>)
fixme:dbghelp_dwarf:compute_location Unhandled attr op: e0
it: dwarf.c :1355 : dwarf2_parse_variable:  L'assertion « subpgm->func »
a échoué.
wine: Assertion failed at address 0xffffe424 (thread 0009), starting
debugger...
this looks like gcc emits TLS-based variables, and we don't handle this yet in the dwarf parser your fix is wrong as it just hides this fact, and still "creates" the variables/functions in the internal dbghelp structure, will give at the end wrong results in the debugger (and hard to understand) the correct short term fix is to handle the loc_error case in dwarf2_parse_variable (for the DW_AT_location case) by simply doing nothing the correct long term fix is to implement TLS based variable addressing in the parser

A+

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




Reply via email to