ASP.NET 2.0 웹 사이트에서 처리되지 않은 예외의 세부 정보를 기록합니다. 원본 파일 이름과 줄 번호를 기록하고 싶습니다. 그러나 예외가 발생하면 스택 추적에서이 값을 얻지 못합니다. 그 이유는 web.config 컴파일 설정 (프로덕션 사이트)에 debug = "false"가 있으므로 서버에 PDB 파일이 생성되지 않기 때문입니다. 릴리스 모드에서 디버그 기호 파일을 생성하도록 ASP.NET을 얻는 방법이 있습니까? 나는 사이트를 미리 컴파일하고 싶지 않다.릴리스 모드의 디버그 기호
답변
OK, 답을 찾았습니다. debug = "false"를 설정하여 최적화를 얻은 다음 system.codedom 컴파일러 설정에서 compilerOptions = "/ debug : pdbonly"를 설정하여 기호를 가져올 수 있습니다. 관련 web.config의 발췌 내용은 다음과 같습니다.
<system.web>
....
<compilation debug="false" defaultLanguage="c#">
...
</compilation>
</system.web>
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" warningLevel="4"
type="Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
compilerOptions="/debug:pdbonly">
<providerOption name="CompilerVersion" value="v3.5"/>
<providerOption name="WarnAsError" value="false"/>
</compiler>
...
</compilers>
</system.codedom>
내 ASP.NET4.0 웹 사이트 프로젝트의 경우 CompilerInfo 배열을 파고 (CompilerInfo [] allCompilerInfo = CodeDomProvider.GetAllCompilerInfo()를 사용하여 가져옴), 버전 설정은 "Version = 4.0.0.0"이고 < providerOption name = "CompilerVersion"value = "v4.0"/> 그 밖의 모든 것은 동일합니다. 이야기의 도덕은 귀하의 마일리지가 다를 수 있으므로 프로젝트의 실제 설정을 확인하십시오. –
Im이 뭔가를 놓치지 않는 한, 디버그 & 릴리스 빌드의 차이가 최적화에 있습니다. pdb를 사용하여 일반 디버그 바이너리를 생성하고 프로젝트 설정에서 모든 최적화 설정을 활성화해야합니다. 아파치가 예외가 아니라면 ...
그것은 ASP.NET 2.0 웹 사이트입니다. 저는 바이너리를 빌드하지 않을 것입니다. 모든 컴파일은 ASP.NET에 의해 즉시 수행되며 web.config 설정에 의해 제어됩니다. 그것은 어느 쪽이든 디버그 = "거짓"(최적화는 있지만 기호는 없음) 또는 디버그 = "참"(기호는 있지만 최적화는 없음) 중 하나 일 수 있습니다. – noj
- 1. 디버그/릴리스 모드의 부동 소수점/이중 정밀도
- 2. 릴리스 모드의 ClickOnce는 게시하지 않습니다.
- 3. 릴리스 모드의 Trace.WriteLine?
- 4. 디버그 대 릴리스 dll 크기
- 5. C# XNA Visual Studio : "릴리스"와 "디버그"모드의 차이점은 무엇입니까?
- 6. 컴파일 디버그 = "거짓"과 릴리스 모드의 차이점은 무엇입니까?
- 7. 디버그 모드의 선언 보안
- 8. Silverlight 크로스 도메인 : 릴리스 모드의 SecurityException
- 9. 릴리스 및 디버그
- 10. C# 디버그 대 릴리스
- 11. 릴리스 Qt 디버그
- 12. C++ 디버그 릴리스 버전
- 13. 릴리스 모드의 FindView는 항상 useCache = true를 사용합니다.
- 14. 아이폰의 디버그 대 릴리스 모드
- 15. 디버그 폴더와 릴리스 폴더의 차이점
- 16. 프로필 디버그 또는 릴리스 빌드?
- 17. Qmake 릴리스 및 디버그 모드
- 18. 릴리스 모드에서 디버그 쓰 기
- 19. 릴리스 만 플래시 문제 디버그
- 20. Xcode 및 디버그 기호 생성
- 21. UNIX에서 디버그 기호 가져 오기
- 22. 테스트 디버그 앱과 릴리스 된 디버그 앱이 나란히 있습니다
- 23. 허드슨 및 구성 (디버그, 릴리스, 병렬 등)
- 24. Sandcastle은 디버그 빌드와 릴리스 빌드를 구별합니까?
- 25. 릴리스 중 Log4net에서 디버그 로깅 해제
- 26. CruiseControl.NET : 디버그 및 릴리스 구성으로 프로젝트 빌드
- 27. Android NDK에서 디버그 빌드와 릴리스 빌드
- 28. Properties.Settings.Default 내가 사용하고 디버그 모드에서 릴리스 모드
- 29. 동시에 사용 릴리스 및 디버그 모드에서 부스트
- 30. WIN32 메모리 문제 (디버그/릴리스 간의 차이점)
나는 100 % 확신 할 수는 없지만 가능한지 의심 스럽습니다. –