Compare Revisions

Debugging Mozilla on Windows FAQ

Revision 235591:

Revision 235591 by MarkGiffin on

Revision 235592:

Revision 235592 by yuriy.look@compuware.com on

Title:
Debugging Mozilla on Windows FAQ
Debugging Mozilla on Windows FAQ
Slug:
Debugging_Mozilla_on_Windows_FAQ
Debugging_Mozilla_on_Windows_FAQ
Tags:
"Developing Mozilla"
"Developing Mozilla"
Content:

Revision 235591
Revision 235592
n41      Debugging Release Buildsn41      Debugging Release and Nightly Builds
42    </h3>
43    <p>42    </h3>
44      Beginning with Firefox 3.0a5, Mozilla maintains a <a href="43    <p>
>/en/Using_the_Mozilla_symbol_server" title="en/Using_the_Mozilla_ 
>symbol_server">symbol server for nightly and release builds</a>. 
44      Beginning with Firefox 3.0a5, Mozilla maintains a <a href="
 >/en/Using_the_Mozilla_symbol_server" title="en/Using_the_Mozilla_
 >symbol_server">symbol server for nightly and release builds</a>.&
 >nbsp; Also, starting April 15, 2008, the source for release and n
 >ightly builds can be downloaded from <a href="/en/Using_the_Mozil
 >la_source_server" title="en/Using_the_Mozilla_source_server">sour
 >ce server for nightly and release builds</a>.
n47      Creating a Visual C++ project for Mozillan47      <a href="/en/Using_the_Mozilla_source_server" title="en/Usi
 >ng_the_Mozilla_source_server">Creating a Visual C++ project for M
 >ozilla</a>
48    </h3>
49    <p>48    </h3>
50      This may no longer work:49    <p>
50      <a href="/en/Using_the_Mozilla_source_server" title="en/Usi
 >ng_the_Mozilla_source_server">This may no longer work:</a>
n53      You probably want to create a Mozilla project in the mozilln53      <a href="/en/Using_the_Mozilla_source_server" title="en/Usi
>a root directory. You do this by selecting File &gt; Open Workspa>ng_the_Mozilla_source_server">You probably want to create a Mozil
>ce... and opening <code>client.mak</code>. Visual C++ compains th>la project in the mozilla root directory. You do this by selectin
>at it cannot read this project, and you can ignore this. It will >g File &gt; Open Workspace... and opening <code>client.mak</code>
>also ask you to name the project file it should create. You proba>. Visual C++ compains that it cannot read this project, and you c
>bly want to say "mozilla". If you do File &gt; Open Workspace... >an ignore this. It will also ask you to name the project file it 
>(Open Solution... in VC++ 7.0) and select an executable to open, >should create. You probably want to say "mozilla". If you do File
>VC++ creates a project in the directory of the executable by defa> &gt; Open Workspace... (Open Solution... in VC++ 7.0) and select
>ult. Once you have the project, do "Save All" to save all the wor> an executable to open, VC++ creates a project in the directory o
>kspace information. You will want to do this whenever you change >f the executable by default. Once you have the project, do "Save 
>some Visual C++ options. Before you actually start using the proj>All" to save all the workspace information. You will want to do t
>ect it probably makes sense to set some options etc. so read on.>his whenever you change some Visual C++ options. Before you actua
 >lly start using the project it probably makes sense to set some o
 >ptions etc. so read on.</a>
54    </p>
55    <p>54    </p>
55    <p>
56      <a class=" external" href="http://benoitgirard.wordpress.co56      <a class="external" href="http://benoitgirard.wordpress.com
>m/2011/05/27/using-visual-studio-2010-ide/" title="http://benoitg>/2011/05/27/using-visual-studio-2010-ide/" title="http://benoitgi
>irard.wordpress.com/2011/05/27/using-visual-studio-2010-ide/">Ins>rard.wordpress.com/2011/05/27/using-visual-studio-2010-ide/">Inst
>tructions for VS&nbsp;2010</a>.>ructions for VS&nbsp;2010.</a>
n59      Changing/setting the executable to debugn59      <a class="external" href="http://benoitgirard.wordpress.com
 >/2011/05/27/using-visual-studio-2010-ide/" title="http://benoitgi
 >rard.wordpress.com/2011/05/27/using-visual-studio-2010-ide/">Chan
 >ging/setting the executable to debug</a>
60    </h3>
61    <p>60    </h3>
61    <p>
62      VC++ 6.0: To change or set the executable to debug, go to P62      <a class="external" href="http://benoitgirard.wordpress.com
>roject &gt; Settings..., Debug tab and select General from the dr>/2011/05/27/using-visual-studio-2010-ide/" title="http://benoitgi
>op down list. "Executable for debug session:" should show the exe>rard.wordpress.com/2011/05/27/using-visual-studio-2010-ide/">VC++
>cutable you are debugging. If it is empty or incorrect, use the a> 6.0: To change or set the executable to debug, go to Project &gt
>rrow button and select Browse... to locate the executable.>; Settings..., Debug tab and select General from the drop down li
 >st. "Executable for debug session:" should show the executable yo
 >u are debugging. If it is empty or incorrect, use the arrow butto
 >n and select Browse... to locate the executable.</a>
n68      Command line parameters and environment variablesn68      <a class="external" href="http://benoitgirard.wordpress.com
 >/2011/05/27/using-visual-studio-2010-ide/" title="http://benoitgi
 >rard.wordpress.com/2011/05/27/using-visual-studio-2010-ide/">Comm
 >and line parameters and environment variables</a>
69    </h3>
70    <p>69    </h3>
71      VC++ 6.0: To change or set the command line options, go to 
>Project &gt; Settings..., Debug tab and select General from the d 
>rop down list. "Program arguments:" should show the options. 
72    </p>70    <p>
71      <a class="external" href="http://benoitgirard.wordpress.com
 >/2011/05/27/using-visual-studio-2010-ide/" title="http://benoitgi
 >rard.wordpress.com/2011/05/27/using-visual-studio-2010-ide/">VC++
 > 6.0: To change or set the command line options, go to Project &g
 >t; Settings..., Debug tab and select General from the drop down l
 >ist. "Program arguments:" should show the options.</a>
73    <p>72    </p>
74      Some common options would be the URL of the file you want t
>he browser to open as soon as it starts, starting the Profile Man 
>ager, or selecting a profile. You can also redirect the console o 
>utput to a file (by adding "<code>&gt; filename.txt</code>" for e 
>xample, without the quotes). 
75    </p>73    <p>
74      <a class="external" href="http://benoitgirard.wordpress.com
 >/2011/05/27/using-visual-studio-2010-ide/" title="http://benoitgi
 >rard.wordpress.com/2011/05/27/using-visual-studio-2010-ide/">Some
 > common options would be the URL of the file you want the browser
 > to open as soon as it starts, starting the Profile Manager, or s
 >electing a profile. You can also redirect the console output to a
 > file (by adding "<code>&gt; filename.txt</code>" for example, wi
 >thout the quotes).</a>
76    <p>75    </p>
77      In VC 7 and 8 this option is called Project &gt; Properties76    <p>
> &gt; Debugging &gt; Command Arguments. VC 8 also allows you to s 
>et environment variables there. 
77      <a class="external" href="http://benoitgirard.wordpress.com
 >/2011/05/27/using-visual-studio-2010-ide/" title="http://benoitgi
 >rard.wordpress.com/2011/05/27/using-visual-studio-2010-ide/">In V
 >C 7 and 8 this option is called Project &gt; Properties &gt; Debu
 >gging &gt; Command Arguments. VC 8 also allows you to set environ
 >ment variables there.</a>
n83      Setting breakpoints in DLLs which are not yet loaded in memn83      <a class="external" href="http://benoitgirard.wordpress.com
>ory>/2011/05/27/using-visual-studio-2010-ide/" title="http://benoitgi
 >rard.wordpress.com/2011/05/27/using-visual-studio-2010-ide/">Sett
 >ing breakpoints in DLLs which are not yet loaded in memory</a>
84    </h3>
85    <p>84    </h3>
86      VC++ 6.0: Go to Project &gt; Settings..., Debug tab and sel
>ect "Additional DLLs" from the drop down list. Check "Locate Addi 
>tional DLLs" option. For each DLL, click the "New" button which c 
>reates a new entry and then hit the "..." buttons which lets you  
>browse to the DLL. You will only be able to add one DLL at a time 
>. 
87    </p>85    <p>
86      <a class="external" href="http://benoitgirard.wordpress.com
 >/2011/05/27/using-visual-studio-2010-ide/" title="http://benoitgi
 >rard.wordpress.com/2011/05/27/using-visual-studio-2010-ide/">VC++
 > 6.0: Go to Project &gt; Settings..., Debug tab and select "Addit
 >ional DLLs" from the drop down list. Check "Locate Additional DLL
 >s" option. For each DLL, click the "New" button which creates a n
 >ew entry and then hit the "..." buttons which lets you browse to 
 >the DLL. You will only be able to add one DLL at a time.</a>
88    <p>87    </p>
89      VC++ 7.0 automatically finds additional DLLs.88    <p>
89      <a class="external" href="http://benoitgirard.wordpress.com
 >/2011/05/27/using-visual-studio-2010-ide/" title="http://benoitgi
 >rard.wordpress.com/2011/05/27/using-visual-studio-2010-ide/">VC++
 > 7.0 automatically finds additional DLLs.</a>
n95      Displaying Unicode stringn95      <a class="external" href="http://benoitgirard.wordpress.com
 >/2011/05/27/using-visual-studio-2010-ide/" title="http://benoitgi
 >rard.wordpress.com/2011/05/27/using-visual-studio-2010-ide/">Disp
 >laying Unicode string</a>
96    </h3>
97    <p>96    </h3>
98      VC++ 6.0: Select Tools &gt; Options..., find Debug tab, and
> check the option "Display Unicode Strings". 
99    </p>97    <p>
98      <a class="external" href="http://benoitgirard.wordpress.com
 >/2011/05/27/using-visual-studio-2010-ide/" title="http://benoitgi
 >rard.wordpress.com/2011/05/27/using-visual-studio-2010-ide/">VC++
 > 6.0: Select Tools &gt; Options..., find Debug tab, and check the
 > option "Display Unicode Strings".</a>
100    <p>99    </p>
101      VC++ 7.0 automatically displays Unicode strings.100    <p>
101      <a class="external" href="http://benoitgirard.wordpress.com
 >/2011/05/27/using-visual-studio-2010-ide/" title="http://benoitgi
 >rard.wordpress.com/2011/05/27/using-visual-studio-2010-ide/">VC++
 > 7.0 automatically displays Unicode strings.</a>
n107      Customizing the debugger's variable value viewn107      <a class="external" href="http://benoitgirard.wordpress.com
 >/2011/05/27/using-visual-studio-2010-ide/" title="http://benoitgi
 >rard.wordpress.com/2011/05/27/using-visual-studio-2010-ide/">Cust
 >omizing the debugger's variable value view</a>
108    </h3>
109    <p>108    </h3>
110      You can customize how Visual C++ displays classes in the va
>riable view. By default VC++ displays "{...}" and you need to cli 
>ck the small + icon to expand the members. You can change this be 
>haviour, and make Visual C++ display whatever data member you wan 
>t in whatever order, formatter however you like instead of just " 
>{...}". 
111    </p>109    <p>
110      <a class="external" href="http://benoitgirard.wordpress.com
 >/2011/05/27/using-visual-studio-2010-ide/" title="http://benoitgi
 >rard.wordpress.com/2011/05/27/using-visual-studio-2010-ide/">You 
 >can customize how Visual C++ displays classes in the variable vie
 >w. By default VC++ displays "{...}" and you need to click the sma
 >ll + icon to expand the members. You can change this behaviour, a
 >nd make Visual C++ display whatever data member you want in whate
 >ver order, formatter however you like instead of just "{...}".</a
 >>
112    <p>111    </p>
113      You need to locate a file called "AUTOEXP.DAT" in your Visu
>al C++ installation. By default it will be: 
114    </p>112    <p>
113      <a class="external" href="http://benoitgirard.wordpress.com
 >/2011/05/27/using-visual-studio-2010-ide/" title="http://benoitgi
 >rard.wordpress.com/2011/05/27/using-visual-studio-2010-ide/">You 
 >need to locate a file called "AUTOEXP.DAT" in your Visual C++ ins
 >tallation. By default it will be:</a>
115    <p>114    </p>
116      VC++ 6.0:
117    </p>115    <p>
118    <pre class="eval">116      <a class="external" href="http://benoitgirard.wordpress.com
 >/2011/05/27/using-visual-studio-2010-ide/" title="http://benoitgi
 >rard.wordpress.com/2011/05/27/using-visual-studio-2010-ide/">VC++
 > 6.0:</a>
119C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin\AUTOE
>XP.DAT 
120</pre>
121    <p>117    </p>
122      VC++ 7.0:118    <pre class="eval">
119<a class="external" href="http://benoitgirard.wordpress.com/2011/
 >05/27/using-visual-studio-2010-ide/" title="http://benoitgirard.w
 >ordpress.com/2011/05/27/using-visual-studio-2010-ide/">C:\Program
 > Files\Microsoft Visual Studio\Common\MSDev98\Bin\AUTOEXP.DAT
120</a>
121</pre>
123    </p>122    <p>
124    <pre class="eval">123      <a class="external" href="http://benoitgirard.wordpress.com
 >/2011/05/27/using-visual-studio-2010-ide/" title="http://benoitgi
 >rard.wordpress.com/2011/05/27/using-visual-studio-2010-ide/">VC++
 > 7.0:</a>
125C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Packag
>es\Debugger\AUTOEXP.DAT 
126</pre>
127    <p>124    </p>
128      The file has information about the format in the beginning,125    <pre class="eval">
> and after a little practice you should be well on your way. Here 
> are some entries that will make your life easier: 
126<a class="external" href="http://benoitgirard.wordpress.com/2011/
 >05/27/using-visual-studio-2010-ide/" title="http://benoitgirard.w
 >ordpress.com/2011/05/27/using-visual-studio-2010-ide/">C:\Program
 > Files\Microsoft Visual Studio .NET 2003\Common7\Packages\Debugge
 >r\AUTOEXP.DAT
127</a>
128</pre>
129    <p>
130      <a class="external" href="http://benoitgirard.wordpress.com
 >/2011/05/27/using-visual-studio-2010-ide/" title="http://benoitgi
 >rard.wordpress.com/2011/05/27/using-visual-studio-2010-ide/">The 
 >file has information about the format in the beginning, and after
 > a little practice you should be well on your way. Here are some 
 >entries that will make your life easier:</a>
n131;; Mozilla (1.7beta and later)n133<a class="external" href="http://benoitgirard.wordpress.com/2011/
 >05/27/using-visual-studio-2010-ide/" title="http://benoitgirard.w
 >ordpress.com/2011/05/27/using-visual-studio-2010-ide/">;; Mozilla
 > (1.7beta and later)
nn145</a>
n144    <p>n
145      After you have made the changes and saved the file, you wil
>l need to restart Visual C++ for the changes to take effect. 
146    </p>147    <p>
148      <a class="external" href="http://benoitgirard.wordpress.com
 >/2011/05/27/using-visual-studio-2010-ide/" title="http://benoitgi
 >rard.wordpress.com/2011/05/27/using-visual-studio-2010-ide/">Afte
 >r you have made the changes and saved the file, you will need to 
 >restart Visual C++ for the changes to take effect.</a>
147    <p>149    </p>
148      For XPCOM Strings (the "external" string API) you can use t150    <p>
>he following values: 
151      <a class="external" href="http://benoitgirard.wordpress.com
 >/2011/05/27/using-visual-studio-2010-ide/" title="http://benoitgi
 >rard.wordpress.com/2011/05/27/using-visual-studio-2010-ide/">For 
 >XPCOM Strings (the "external" string API) you can use the followi
 >ng values:</a>
n151;; Mozilla (1.9)n154<a class="external" href="http://benoitgirard.wordpress.com/2011/
 >05/27/using-visual-studio-2010-ide/" title="http://benoitgirard.w
 >ordpress.com/2011/05/27/using-visual-studio-2010-ide/">;; Mozilla
 > (1.9)
nn163</a>
t162      There is a more extensive version of this file in progress t166      <a class="external" href="http://benoitgirard.wordpress.com
>in <a href="/en/AutoExpForVC8" title="en/AutoExpForVC8">AutoExpFo>/2011/05/27/using-visual-studio-2010-ide/" title="http://benoitgi
>rVC8</a>.>rard.wordpress.com/2011/05/27/using-visual-studio-2010-ide/">Ther
 >e is a more extensive version of this file in progress in</a> <a 
 >href="/en/AutoExpForVC8" title="en/AutoExpForVC8">AutoExpForVC8</
 >a>.

Back to History