рд╕рдкреНрддрд╛рд╣рд╛рдВрдд рдореЗрдВ рдореИрдВ рдЕрдкрдиреЗ рджреЛрд╕реНрдд рд╕реЗ
рдорд┐рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЧрдпрд╛ рдерд╛ рдФрд░ рдЙрд╕рдиреЗ рдореБрдЭреЗ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рджрд┐рдЦрд╛рдИред рдХрд╛рдо рдХреЗ рджреМрд░рд╛рди, рдЙрдиреНрд╣реЗрдВ .net рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдореЗрдореЛрд░реА рдбрдВрдк рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рдЬрд╣рд╛рдВ рдЙрдиреНрд╣реЛрдВрдиреЗ рдореЗрдореЛрд░реА рд▓реАрдХ рдФрд░ рдЕрдиреНрдп рдЕрд╕рд╛рдорд╛рдиреНрдп рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рддрд▓рд╛рд╢ рдХреА рдФрд░ рдореБрдЭреЗ рджрд┐рдЦрд╛рдпрд╛ рдХрд┐ рдХрд┐рд╕реА рднреА .net рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп, рдкрд░реНрдпрд╛рд╡рд░рдг рддреАрди рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдХреЛ рдЖрд░рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ:
ExecutionEngineException StackOverflowException OutOfMemoryException
ExecutionEngineException StackOverflowException OutOfMemoryException
ExecutionEngineException StackOverflowException OutOfMemoryException
рдФрд░ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред рдХреНрдпреЛрдВ?
рдореИрдВрдиреЗ рдПрдХ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдФрд░, рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдХрдВрд╕реЛрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб рдмрдирд╛рдпрд╛:
using System; namespace HelloWorld { class Program { static void Main() { Console.Write("Hello world!"); Console.ReadKey(); } } }
рд╣рдо рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рдпрд╣рд╛рдВ рднреА рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ
рд╣реИрдВ ред
рдЕрдм
рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рдбрд┐рдмрдЧрд┐рди рдЯреВрд▓реНрд╕ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред рд╣рдореЗрдВ
WinDbg
рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЗрд╕реЗ рдЦреЛрд▓реЗрдВ рдФрд░ рдкреНрд░рддреАрдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝реЗрдВ (pdb рдлрд╝рд╛рдЗрд▓):
рдлрд╝рд╛рдЗрд▓ -> рдкреНрд░рддреАрдХ рдлрд╝рд╛рдЗрд▓ рдкрде рдФрд░ рд╣рдорд╛рд░реА .pdb рдлрд╝рд╛рдЗрд▓
HelloWorld.pdb
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред рдЕрдиреНрдп рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдПрдХ рдЯреЗрдореНрдкреЛ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдмрдирд╛рдПрдВ рдФрд░
Symbol File Path
рд╡рд┐рдВрдбреЛ рдореЗрдВ рдЗрд╕рдХреЗ рд╕рдорд╛рди рдХреБрдЫ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ
D:\WORK\Projects\Own\HelloWorld\HelloWorld\bin\Debug; SRV*D:\Temp\Symbols*http://msdl.microsoft.com/download/symbols
рдЕрдЧрд▓рд╛, рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЪрд▓рд╛рдПрдВ (рдпрджрд┐ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕реЗ, рдлрд┐рд░ рдбрд┐рдмрдЧ рдореЛрдб рдореЗрдВ рдирд╣реАрдВ) рдФрд░ WinDbg рдореЗрдВ рд╣рдо рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВ:
рдлрд╝рд╛рдЗрд▓-> рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╕рдВрд▓рдЧреНрди рдХрд░реЗрдВ
рд╣рдо рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
.loadby sos mscorwks
sos.dll
рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдПред
рдЪрд▓реЛ рдореЗрдореЛрд░реА рдХреЛ рдбрдВрдк рдХрд░рддреЗ рд╣реИрдВ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
.dump /ma D:\Temp\HelloWorld.dmp
рдЖрдк рдбрд┐рдмрдЧ рдХреЛ рд░реЛрдХ рд╕рдХрддреЗ рд╣реИрдВ:
рдбреАрдмрдЧ -> рдбреАрдмрдЧрд┐рди рдХреЛ рд░реЛрдХреЗрдВрдФрд░ рд╣рдорд╛рд░реА рдореЗрдореЛрд░реА рдбрдВрдк
рдЦреЛрд▓реЗрдВ :
рдлрд╝рд╛рдЗрд▓ -> рдХреНрд░реИрд╢ рдбреИрдо рдЦреЛрд▓реЗрдВ рдФрд░ рд╣рдорд╛рд░рд╛
HelloWorld.dmp
рдЪреБрдиреЗрдВ
рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдбрдВрдк рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░реЗрдВ:
!dumpheap -type Exception
рдФрд░ рд╣рдо рдХреНрдпрд╛ рджреЗрдЦрддреЗ рд╣реИрдВ? рдпрд╣рд╛рдБ рд╣рдорд╛рд░реЗ рдЕрдкрд╡рд╛рдж рд╣реИрдВ:
7093fd68 1 84 System.ExecutionEngineException 7093fd1c 1 84 System.StackOverflowException 7093fcd0 1 84 System.OutOfMemoryException

рдирд┐рд╖реНрдХрд░реНрд╖
рдЗрди рддреАрди рдЕрдкрд╡рд╛рджреЛрдВ (
ExecutionEngineException, StackOverflowException OutOfMemoryException
) рдХреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдПрдХ рд╕реНрдерд┐рддрд┐ рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреИрд╕реЗ рдХрд┐ рдЬрдм рдЖрдк рдореЗрдореЛрд░реА рд╕реЗ рдмрд╛рд╣рд░ рднрд╛рдЧ рдЧрдП рдереЗ рдФрд░ рдХреЛрдИ
OutOfMemory
рдЕрдкрд╡рд╛рдж
OutOfMemory
рдлреЗрдВрдХрдиреЗ рдореЗрдВ
OutOfMemory
рдирд╣реАрдВ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рд╕реЗ рдПрдХ рдФрд░ OOM рдЕрдкрд╡рд╛рдж рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕реА рддрд░рд╣, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рд╣реИ, рддреЛ рдЖрдк
StackOverflowException
рдХреЛ рдирд╣реАрдВ
StackOverflowException
рд╕рдХрддреЗ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдУрд╡рд░рдлреНрд▓реЛ рд╣реБрдП рд╕реНрдЯреИрдХ рдХреЗ рд╕рд╛рде рдЕрд╕рдВрднрд╡ рд╣реИред
рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдкрдХреЛ рдХрднреА-рдХрднреА .net рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдореЗрдореЛрд░реА рдбрдВрдк рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ, рддреЛ рдЗрди рдЕрдкрд╡рд╛рджреЛрдВ рд╕реЗ рдбрд░реЛ рдорддред рдиреЗрдЯ рдореЗрдореЛрд░реА рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рдмрдлрд░ рд╡рд╛рддрд╛рд╡рд░рдг рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред