<div> Is there any documentation on the wine site how to set this up stefan???&nbsp; It may be a start to what I am thinking..... <br>
<br>
<font face="Arial, Helvetica, sans-serif">chris</font><br>
</div>

<div> <br>
</div>

<div> <br>
</div>
-----Original Message-----<br>
From: Stefan Dösinger &lt;stefan@codeweavers.com&gt;<br>
To: celticht32@aol.com<br>
Cc: wine-devel@winehq.org<br>
Sent: Wed, 10 Sep 2008 11:32 am<br>
Subject: RE: Debugging Wine thoughts<br>
<br>






<div id="AOLMsgPart_2_0f7ab001-11c3-404c-b7fa-43b97df740e3">









<style>  @#AOLMsgPart_2_0f7ab001-11c3-404c-b7fa-43b97df740e3 font-face {font-family:"MS Mincho"; panose-1:2 2 6 9 4 2 5 8 3 4;}@#AOLMsgPart_2_0f7ab001-11c3-404c-b7fa-43b97df740e3 font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4;}@#AOLMsgPart_2_0f7ab001-11c3-404c-b7fa-43b97df740e3 font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4;}@#AOLMsgPart_2_0f7ab001-11c3-404c-b7fa-43b97df740e3 font-face {font-family:Tahoma; panose-1:2 11 6 4 3 5 4 4 2 4;}@#AOLMsgPart_2_0f7ab001-11c3-404c-b7fa-43b97df740e3 font-face {font-family:"@MS Mincho";}  #AOLMsgPart_2_0f7ab001-11c3-404c-b7fa-43b97df740e3 p.MsoNormal,#AOLMsgPart_2_0f7ab001-11c3-404c-b7fa-43b97df740e3  li.MsoNormal,#AOLMsgPart_2_0f7ab001-11c3-404c-b7fa-43b97df740e3  div.MsoNormal {margin:0in; margin-bottom:.0001pt; font-size:12.0pt; font-family:"Times New Roman","serif";}#AOLMsgPart_2_0f7ab001-11c3-404c-b7fa-43b97df740e3 a:link,#AOLMsgPart_2_0f7ab001-11c3-404c-b7fa-43b97df740e3  span.MsoHyperlink {mso-style-priority:99; color:blue; text-decoration:underline;}#AOLMsgPart_2_0f7ab001-11c3-404c-b7fa-43b97df740e3 a:visited,#AOLMsgPart_2_0f7ab001-11c3-404c-b7fa-43b97df740e3  span.MsoHyperli
nkFollowed {mso-style-priority:99; color:purple; text-decoration:underline;}#AOLMsgPart_2_0f7ab001-11c3-404c-b7fa-43b97df740e3 span.E-MailFormatvorlage17 {mso-style-type:personal-reply; font-family:"Calibri","serif"; color:#1F497D;}#AOLMsgPart_2_0f7ab001-11c3-404c-b7fa-43b97df740e3 .MsoChpDefault {mso-style-type:export-only; font-size:10.0pt;}@#AOLMsgPart_2_0f7ab001-11c3-404c-b7fa-43b97df740e3 page Section1 {size:8.5in 11.0in; margin:1.0in 1.0in 1.0in 1.0in;}#AOLMsgPart_2_0f7ab001-11c3-404c-b7fa-43b97df740e3 div.Section1 {page:Section1;}</style>




<div class="Section1">


<div class="MsoNormal"><font color="#1f497d" face="Calibri" size="2"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;serif&quot;; color: rgb(31, 73, 125);">You can
attach any debugger to a Win32 process running in Wine. This includes Linux
debuggers like gdb, or any graphical frontends, as well as Windows debuggers
like visual studio. If you built wine from source, the Linux debuggers will see
the Wine source. Probably they can also read the Windows apps source if you
have it. I'm not sure if Windows debuggers can access the Wine source, but
maybe dbghelp.dll can do that</span></font></div>



<div class="MsoNormal"><font color="#1f497d" face="Calibri" size="2"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;serif&quot;; color: rgb(31, 73, 125);">&nbsp;</span></font></div>



<div class="MsoNormal"><font color="#1f497d" face="Calibri" size="2"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;serif&quot;; color: rgb(31, 73, 125);">&nbsp;</span></font></div>



<div style="border-style: none none none solid; border-color: -moz-use-text-color20-moz-use-text-color -moz-use-text-color blue; border-width: medium medium medium 1.5pt; padding: 0in 0in 0in 4pt;">


<div>


<div style="border-style: solid none none; border-color: rgb(181, 196, 223) -moz-use-text-color -moz-use-text-color; border-width: 1pt medium medium; padding: 3pt 0in 0in;">


<div class="MsoNormal"><b><font face="Tahoma" size="2"><span style="font-size: 10pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;; font-weight: bold;" lang="DE">From:</span></font></b><font face="Tahoma" size="2"><span style="font-size: 10pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;" lang="DE">
<a href="mailto:wine-devel-bounces@winehq.org">wine-devel-bounces@winehq.org</a> [<a href="mailto:wine-devel-bounces@winehq.org?">mailto:wine-devel-bounces@winehq.org</a>] <b><span style="font-weight: bold;">On Behalf Of </span></b><a href="mailto:celticht32@aol.com">celticht32@aol.com</a><br>

<b><span style="font-weight: bold;">Sent:</span></b> Wednesday, September 10,
2008 10:17 AM<br>

<b><span style="font-weight: bold;">To:</span></b> <a href="mailto:dank@kegel.com">dank@kegel.com</a><br>

<b><span style="font-weight: bold;">Cc:</span></b> <a href="mailto:wine-devel@winehq.org">wine-devel@winehq.org</a><br>

<b><span style="font-weight: bold;">Subject:</span></b> Debugging Wine thoughts</span></font></div>


</div>


</div>



<div class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;">&nbsp;</span></font></div>



<div class="MsoNormal" style="margin-bottom: 12pt;"><font face="Arial" size="3"><span style="font-size: 12pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Dan / All,<br>

I think what the guy was asking on improvi
ng winedbg is to have some sort of
visual debugger much like VC/C++ , Eclipse, <br>

Borland C++ or the like... Where you can step through the code (seeing the
whole thing like any visual debugger).&nbsp; <br>

Then when looking at stacks you&nbsp; click on a variable or stack and it
either winds it back or display's it.&nbsp; <br>

<br>

Below is my thoughts on what would be a nice to have in some form of Debugger /
Gui Debugger for Wine<br>

<br>

So my wish list would be:<br>

1) Some form of a Standard Gui Debugger<br>

2) A way to select&nbsp; the debug flags used with an explanation of what each
is for... +sed is for this +relay does that...etc....&nbsp;&nbsp; <br>

3) When you do +relay you could open separate output windows for each thread <br>

4) The ability to turn each of the +relay wine thread output on or off... <br>

4) Currently Wading through a relay log is a real pain and in some cases it
prevents the problem from occuring.<br>

&nbsp;&nbsp;&nbsp; Time outs because of too much data being collected and then
having to wade through and determine what to and not to turn off.<br>

&nbsp;&nbsp;&nbsp; So a note or best practice somewhere showing the heavy
hitters in a +relay log&nbsp; and turn them off by default.&nbsp; However, note
<br>

&nbsp;&nbsp;&nbsp; somewhere saying&nbsp; if +relay doesnt give enough
information then turn on just these flags and run. That way we are not managing
<br>

&nbsp;&nbsp;&nbsp; flag lists when trying to figure out whats going wrong
 in an
application. IMHO +relay is too unweldly and turning each flag on <br>

&nbsp;&nbsp;&nbsp; individually is as well, so there needs to be some sort of
happy medium somewhere.<br>

5) A window with a list of the important wine structures or resources that can
be watched as the application runs.<br>

6) Source code debugging in the GUI with step through, break points, etc..( not
like now in winedbg but more like one of the GUI's mentioned before)<br>

7) Loading of application from gui debugger and run it<br>

8) Ability to look at a stack and backtrace in the GUI<br>

9) Value Watches within the GUI.<br>

10) Code Checking<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Some sort of bounds checking...<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Uninitialized variable checking....<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Unreachable Code Checking<br>

11) Use the GUI to help enforce the Wine Coding standard.. most modern GUI
environments let you specify a style of coding.<br>

This would help the new people understand and follow the coding standards set
up... instead of guessing like they do now.<br>

12) Online help / Context help...&nbsp; point to the IC in the wiki... lots of
good stuff there... just hard to find sometimes....<br>

13) Integration with bugzilla... they find a bug... they create it in the GUI..
dump out the screen, stack and the like... so some <br>

of the base information is collected instead of wasting time back and forth and
having so many invalid bugs. Again this format <br>

can be enforced through cod
ing style templates... you want to submit a bug here
is what you do... check boxes to include things...<br>

like I said screen shots... logs, traces, variables, hardware config, etc...<br>

14) Integration with GIT... check and see if there is a new tree out there.. if
so... flag it and git it...<br>

15) Link to whats fixed in the new GIT tree... or a list of it...<br>

16) Link to Dan's patchwatcher status... (kinda a workflow sort of thing) to
know whats good and bad...<br>

17) Generation of the GIT patch and then mail it to the list through a
button...<br>

18) GIT integration<br>

<br>

You have to remember guy's alot of the new people coming in are not old timers
like some of us who grew up in a non-gui <br>

world.. Like it or not&nbsp; they are used to doing things in certain ways and
I think we could get alot more people looking at <br>

bugs and helping fix them if we started thinking of something along these
lines. This of course is not a complete list... <br>

And I am sure this is going to start a flame war or something close to it.. But
I think this might be a good next step for something<br>

like the summer of code people to do.. or whomever maintains the wine debugger
to think seriously about.<br>

<br>

Most of these things I think could be implemented using the current wine debugger
with some form of pipe between it and the GUI.<br>

That way the 'purists' can still debug using winedebug like now and the new
people who choose to c
an use the GUI?<br>

<br>

Thoughts????????????????????????????????<br>

<br>

<br>

Problems I have noticed when debugging...<br>

If I kill (press the X button or close it from the task bar) the wine
application, Wine does not clean up from itself... it leaves the <br>

wine mount daemon running. so I have to kill all the wine processes before I
can restart wine. Otherwise any windows <br>

application which loads another application fails to start IE a game with a
loader which then starts the game (I have found this<br>

in alot of MMO's where you have some form of login screen / loader which then
loads in the actual game) (and no you cant<br>

always just call the main exe)<br>

<br>

Question :<br>

Why does wine have to allocate all its memory at startup? re... the issue that
is causing the ATI drivers to have such<br>

a fuss....&nbsp; why not just allocate as needed? or have the ability (if its
not there already) to specify the total amount of memory<br>

which is available to the wine process and limit wine to just that ammount of
memory (kind of like the way most VM machines<br>

have the option of setting the maximum amount of memory which is available).</span></font></div>



<div id="u8CAE16F5B96B607-7FC-22">


<div style="margin-top: 7.5pt;">


<div class="MsoNormal" style="text-align: center;" align="center"><font color="black" face="Arial" size="2"><span style="font-size: 10pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; color: black;">

<hr align="center" size="2" width3D"100%">

</span></font></div>


</div>



<div class="MsoNormal" style="margin-top: 7.5pt;"><font color="black" face="Arial" size="2"><span style="font-size: 10pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; color: black;">Looking for spoilers and reviews on the new TV season? <a target="_blank" href="http://television.aol.com/feature/fall_tv?ncid=aoletv00050000000037" title="http://television.aol.com/feature/fall_tv?ncid=aoletv00050000000037">Get
AOL's ultimate guide to fall TV</a>.</span></font> </div>


</div>


</div>


</div>


</div>
 <!-- end of AOLMsgPart_2_0f7ab001-11c3-404c-b7fa-43b97df740e3 -->

<div id='u8CAE188949C9959-9C0-119E' class='aol_ad_footer'><FONT style="color: black; font: normal 10pt ARIAL, SAN-SERIF;"><HR style="MARGIN-TOP: 10px">Looking for spoilers and reviews on the new TV season? <A title="http://television.aol.com/feature/fall_tv?ncid=aoletv00050000000037" href="http://television.aol.com/feature/fall_tv?ncid=aoletv00050000000037" target="_blank">Get AOL's ultimate guide to fall TV</A>.</FONT> </div>