2013-09-27 7 views
0

.Net C# 응용 프로그램 용 크래시 덤프를 만들려고합니다.procdump가 StackOverflow 예외에 대한 덤프를 만들지 않습니다.

namespace Crashme 
{ 
    class Program 
    { 


     static void Main(string[] args) 
     { 
      for (int i = 0; i < 10; i++) 
      { 
       System.Threading.Thread.Sleep(2000); 
      } 

      Console.WriteLine("Calling text"); 

      crash obj = new crash(); 
      obj.sMyText = "abc"; 

     } 
    } 

    class crash 
    { 
     public string sMyText 
     { 
      get { return sMyText; } 
      set { sMyText = value; } 
     } 
    } 
} 

procdump 명령 내가 사용하고 :

.\procdump.exe -ma -e crashme.exe crash_dump1.dmp 

을 예상대로 응용 프로그램이 충돌하고 procdump 잡기됩니다 내가 스택 오버플로 예외에 대한 응용 프로그램을 충돌하는 코드를 작성했습니다이를 위해 그것도. procdump 모니터링 콘솔에서 볼 수 있습니다. 덤프가 생성되지 않습니다.

정확한 procdump 명령을 사용하고 있지 않습니다. 누군가 제발 도와 줄 수 있니?

답변

0

올바른 명령을 사용하고 있다고 생각합니다. 나는 당신의 문제를 복제했다. 그것은 단지 작동하지 않습니다. 당신은 sysinternals 포럼에 게시 할 수 있습니다. 우리의 회사는 ADPlus를 사용하여 전환

launching procdump from a 64-bit service doesn't work when running as Local Service or Local System

:

http://forum.sysinternals.com/

는 또한 procdump와 해결되지 않은 질문이 있습니다. 우리는 훨씬 행복해하며 다른 유형의 예외에 대해 서로 다른 작업을 구성 할 수 있다는 것이 좋습니다.

adplus로 조금 까다 롭습니다.

Help catching StackOverflowException with WinDbg and ADPlus

+0

내가 파악이 사용 procdump -ma -e -t crashme.exe crash_dump1.dmp 나를 위해 덤프 파일을 만드는 것입니다. 그러나 Visual Studio 2010을 사용하여 디버깅을 시도 할 때 줄 번호와 오류 모듈을 지적하는 대신 어셈블리 정보를 항상 반환하므로 추가 정보를 찾을 수 없습니다. 이 일을 도와 줄 수 있어요? – Kallol

+0

-t를 사용하면 유용한 덤프 파일을 얻는데 너무 늦었다 고 생각합니다. -t \t 프로세스가 종료되면 덤프를 작성하십시오. stackoverflow 예외가 발생할 때 덤프 파일을 가져 오려고합니다. – Derek

+0

내가 말했듯이, 아마도 sysinternals 포럼에 게시하거나 adplus를 배우기 시작할 필요가 있습니다. StackOverflowException을 처리하기 위해 내 대답에 링크를 사용하십시오. – Derek