PDA

View Full Version : آموزش: دیباگ کردن درایورهای پرینتر



__Genius__
یک شنبه 15 آذر 1388, 01:14 صبح
سلام ،
این یک آموزش خوب در رابطه با دیباگ کردن درایورهای پرینتر هست که برای برنامه نویسان درایورهای پرینتر ، تستر ها و دوستاران بحث RE ،
امیدوارم به خوبی استفاده کنید ;) .
لینک مربوطه: http://www.microsoft.com/whdc/device/print/DbgPrtDrvr.mspx
اینم از contents :


<!-- /* Font Definitions */ @font-face {font-family:&quot;Cambria Math&quot;; panose-1:0 0 0 0 0 0 0 0 0 0; mso-font-charset:1; mso-generic-font-family:roman; mso-font-format:other; mso-font-pitch:variable; mso-font-signature:0 0 0 0 0 0;} @font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:-1610611985 1073750139 0 0 159 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-unhide:no; mso-style-qformat:yes; mso-style-parent:&quot;&quot;; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:11.0pt; font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:Arial; mso-bidi-theme-font:minor-bidi;} p.MsoToc1, li.MsoToc1, div.MsoToc1 {mso-style-name:&quot;TOC 1\,TOC level 1&quot;; mso-style-update:auto; mso-style-priority:39; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; tab-stops:right dotted 384.0pt; font-size:11.0pt; font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:&quot;Times New Roman&quot;; mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:Arial; mso-bidi-theme-font:minor-bidi; mso-no-proof:yes;} p.MsoToc2, li.MsoToc2, div.MsoToc2 {mso-style-name:&quot;TOC 2\,TOC level 2&quot;; mso-style-update:auto; mso-style-priority:39; mso-style-next:Normal; margin-top:0in; margin-right:0in; margin-bottom:0in; margin-left:12.0pt; margin-bottom:.0001pt; mso-pagination:widow-orphan; tab-stops:right dotted 384.0pt; font-size:11.0pt; font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:Arial; mso-bidi-theme-font:minor-bidi; mso-no-proof:yes;} p.MsoToc3, li.MsoToc3, div.MsoToc3 {mso-style-name:&quot;TOC 3\,TOC level 3&quot;; mso-style-update:auto; mso-style-priority:39; mso-style-next:Normal; margin-top:0in; margin-right:0in; margin-bottom:0in; margin-left:24.0pt; margin-bottom:.0001pt; mso-pagination:widow-orphan; tab-stops:right dotted 384.0pt; font-size:11.0pt; font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:Arial; mso-bidi-theme-font:minor-bidi; mso-no-proof:yes;} a:link, span.MsoHyperlink {mso-style-priority:99; mso-style-unhide:no; mso-style-parent:&quot;&quot;; color:blue; text-decoration:underline; text-underline:single;} a:visited, span.MsoHyperlinkFollowed {mso-style-noshow:yes; mso-style-priority:99; color:purple; mso-themecolor:followedhyperlink; text-decoration:underline; text-underline:single;} .MsoChpDefault {mso-style-type:export-only; mso-default-props:yes; mso-ascii-font-family:Cambria; mso-ascii-theme-font:major-latin; mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Cambria; mso-hansi-theme-font:major-latin; mso-bidi-font-family:Arial; mso-bidi-theme-font:minor-bidi;} @page Section1 {size:8.5in 11.0in; margin:1.0in 1.0in 1.0in 1.0in; mso-header-margin:.5in; mso-footer-margin:.5in; mso-paper-source:0;} div.Section1 {page:Section1;} --> Introduction. 4
Getting Started. 4
Configure the Debugger for Debugging Printer Drivers. 4
Install the Debugging Software. 4
Configure a Remote Console for Debugging. 4
Starting the Spooler in the Debugger. 5
Using Debugger Commands. 6
Configure Symbols for Debugging. 6
Define the Symbol File Path. 6
List the Modules and Symbol Files. 6
Check Symbol Quality. 7
Troubleshoot Bad or Missing Symbols. 9
Configure AppVerifier to Test the Print Spooler. 14
Configure AppVerifier. 14
Configure the Print Spooler Debugging Features. 14
Configure the Print Spooler Debugging Features in Windows 7. 15
Run the Test Software. 18
Examining a Sample Break. 18
Common Program Errors. 20
Null Pointer Reference. 20
Buffer Overruns. 21
Using Freed Memory. 22
Uninitialized Variables. 23
Race Conditions. 23
Debugging Common Program Errors. 23
Debugging Null Pointer Errors. 23
Data Collection. 24
Analysis. 24
Conclusion. 25
Next Steps. 25
Debugging Buffer Overruns. 25
Data Collection. 25
Analysis. 26
Conclusion. 27
Next Steps. 27
Heap Memory Corruption. 27
Data Collection. 27
Analysis. 28
Conclusion. 28
Next Steps. 29
Memory Access “Race” Conditions. 29
Data Collection. 29
Analysis. 30
Conclusion. 31
Next Steps. 31
Uninitialized Variables. 31
Resolving the Problem.. 32
Glossary. 32
Understanding the Assembly Language Display. 35
The Debugger Register Display. 35
Memory Move Instructions. 36
Resources37 (http://barnamenevis.org/forum/#_Toc243278843)