Is there a way to activate +snoop only for selected dll ??? I think that would help me to find AutoCAD 2000 access violation on startup, isolating the dll where it happens. As stated few msg before, it starts up good with +snoop, but it crashes on very beginning without +snoop.
Regards
Max
"Massimo" == Massimo max@veneto.com writes:
Massimo> Is there a way to activate +snoop only for selected dll ??? I Massimo> think that would help me to find AutoCAD 2000 access violation Massimo> on startup, isolating the dll where it happens. As stated few Massimo> msg before, it starts up good with +snoop, but it crashes on Massimo> very beginning without +snoop.
Look at ~/.wine/config in the [Debug] Section.
Bye
"Massimo" max@veneto.com wrote:
Is there a way to activate +snoop only for selected dll ???
Try +snoop=ole32.dll
I think that would help me to find AutoCAD 2000 access violation on startup, isolating the dll where it happens. As stated few msg before, it starts up good with +snoop, but it crashes on very beginning without +snoop.
Also try to disable smart arguments printing in relay32/snoop.c,SNOOP_PrintArg() by commenting out __TRY/__ENDTRY block of code.
"Dmitry" == Dmitry Timoshkov dmitry@baikal.ru writes:
Dmitry> "Massimo" max@veneto.com wrote: >> Is there a way to activate +snoop only for selected dll ???
Dmitry> Try +snoop=ole32.dll
Are you sure this still works after Alexandrs's restructuring of the debug configuration?
>> I think that would help me to find AutoCAD 2000 access violation on >> startup, isolating the dll where it happens. As stated few msg >> before, it starts up good with +snoop, but it crashes on very >> beginning without +snoop.
Dmitry> Also try to disable smart arguments printing in Dmitry> relay32/snoop.c,SNOOP_PrintArg() by commenting out Dmitry> __TRY/__ENDTRY block of code.
Snooping fails when the DLL exports a variable and wine exchanges that variable with a function call. The calling process accesses this function as a variable, and writing to it crashes. The __TRY/__ENDTRY for argument printing seems rather robust.
Bye
"Uwe Bonnes" bon@elektron.ikp.physik.tu-darmstadt.de wrote:
Dmitry> Try +snoop=ole32.dll
Are you sure this still works after Alexandrs's restructuring of the debug configuration?
Of course it doesn't :-( And in the mean time it's impossible to enable snooping for a single dll.
Snooping fails when the DLL exports a variable and wine exchanges that variable with a function call.
That's a rather rare thing to happen and it's not a common way of windows programming either. But in any case you are right: snooping is a very fragile feature.
The calling process accesses this function as a variable, and writing to it crashes. The __TRY/__ENDTRY for argument printing seems rather robust.
Unfortunately not for me (debugging huge MS Office apps). Also that exception handling block somehow influences the whole way of execution of the debugged (snooped) application: it might crash without +snoop, not crash with it, and vice versa.