2009-10-12 4 views
1

this thread과 같지 않지만 꽤 가깝습니다.런타임 컴파일 된 DotNET 코드에서 throw 된 예외 번호 Linomumber

내 프로그램에서는 런타임에 컴파일되고로드되고 실행되는 VB 또는 C# 코드를 입력 할 수 있습니다. 내 CompilerParams은 다음과 같습니다

CompilerParameters params = new CompilerParameters(); 
params.GenerateExecutable = false; 
params.GenerateInMemory = true; 
params.IncludeDebugInformation = false; 
params.TreatWarningsAsErrors = false; 
params.WarningLevel = 4; 

이 코드는 내가 사용자가 자신의 코드를 디버깅하는 데 도움이되는 메시지 상자를 표시 할 수 있도록하고 싶습니다 예외가 발생합니다. 예외 메시지는 쉽지만 줄 번호는 내가 붙어있는 곳이다.

필자는 줄 번호를 얻기 위해 CompilerParameters를 크게 변경해야 할 수도 있고 심지어 이러한 dll이 저장 /로드되는 방식을 변경해야 할 수도 있습니다.

누구나이 작업을 수행하는 데 필요한 최소 단계를 알고 있습니까? 임시 파일에 OutputAssembly 설정

답변

2

, IncludeDebugInformation, 나는 그 대답했다 두려워 심볼을 생성하고 코드 라인

+0

감사 톰과 전체 스택 트레이스를 얻을 수 있도록해야한다
사실 = GenerateInMemory은 = false로 설정 . 이제는 그 모든 dll과 pdb 파일을 지우는 방법을 알아 내야 만합니다 * 내 응용 프로그램이 종료 된 후에 ... 그것에 대한 아이디어가 있습니까? –

+1

Windows Temp 디렉토리에 창을 작성하여 Windows가 처리하도록하십시오. Path.GetTempFileName() – TJF

+0

그 위치는 내가 넣을 수 있지만, 폴더는 내 컴퓨터에서 1 기가에 가깝습니다. 지저분한 일을하고 ... –

관련 문제