Frage

Ich habe eine nächtliche DOS Batch-Skript erstellen, die devenv.exe eine Lösung Datei erstellen aufruft. Ich beobachte Intermittently einen devenv.com Absturz. Ich erhalte ein dw20.exe Dialog „Ihr Schmerz teilen“.

1) Wenn Debug-Taste gedrückt wird, ich bin nicht mit einem üblichen „Wählen Sie Ihren Debugger“ Fenster angezeigt. Vielmehr ist es tut nichts.

2) Wenn ich ein Visual Studio starten und versuchen, devenv.com zu befestigen, heißt es, dass die Anwendung festgefahren zu sein scheint oder wartet auf eine Operation zu beenden. (Ich glaube, weil es von dw20.exe gedebuggt wird)

Was würden Sie empfehlen ich einen anständigen Call-Stack zu bekommen?

Bearbeiten

Ich war erfolgreich in immer WinDBG zu befestigen. Ausgeführt, um den k-Befehl. Hat das folgende aussehen etwas Sinnvolles, das auf dem Compiler-Team übergeben werden kann? Gibt es eine Möglichkeit an der aktuellen Ausnahme aussehen?

(e90.fb8): Break instruction exception - code 80000003 (!!! second chance !!!)
eax=0012ccb8 ebx=04ed2750 ecx=0111bdc4 edx=5a57f004 esi=00000000 edi=14ed1000
eip=77e4bef7 esp=0012ccb4 ebp=0012cd08 iopl=0         nv up ei pl zr na pe nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000246
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\WINDOWS\system32\kernel32.dll - 
kernel32!RaiseException+0x3c:
77e4bef7 5e              pop     esi
Missing image name, possible paged-out or corrupt data.
Missing image name, possible paged-out or corrupt data.
Missing image name, possible paged-out or corrupt data.
Missing image name, possible paged-out or corrupt data.
0:000> k
ChildEBP RetAddr  
WARNING: Stack unwind information not available. Following frames may be wrong.
0012cd08 5a760cf1 kernel32!RaiseException+0x3c
0012cd58 5a766105 cslangsvc!InMemoryCompile+0x4c6c1
0012cd7c 5a767375 cslangsvc!InMemoryCompile+0x51ad5
0012cd84 5a767637 cslangsvc!InMemoryCompile+0x52d45
00000000 00000000 cslangsvc!InMemoryCompile+0x53007

Ich versuche !analyze -v Arbeit zu bekommen.

0:000> !analyze -v
*******************************************************************************
*                                                                             *
*                        Exception Analysis                                   *
*                                                                             *
*******************************************************************************

***** OS symbols are WRONG. Please fix symbols to do analysis.

*************************************************************************
***                                                                   ***
***                                                                   ***
***    Your debugger is not using the correct symbols                 ***
***                                                                   ***
***    In order for this command to work properly, your symbol path   ***
***    must point to .pdb files that have full type information.      ***
***                                                                   ***
***    Certain .pdb files (such as the public OS symbols) do not      ***
***    contain the required information.  Contact the group that      ***
***    provided you with these symbols if you need this command to    ***
***    work.                                                          ***
***                                                                   ***
***    Type referenced: ntdll!_PEB                                    ***
***                                                                   ***
*************************************************************************
c0000005 Exception in ext.analyze debugger extension.
PC: 014d7875  VA: 00000000  R/W: 0  Parameter: 0001003f

EDIT 2

Ich fand heraus, dass es diese wunderbaren SOS-Erweiterungen WinDBG. Anscheinend kann ich sie verwenden C # Compiler zu debuggen ...

0:000> !PrintException
There is no current managed exception on this thread
0:000> !clrstack
OS Thread Id: 0x9fc (0)
ESP       EIP     
0012ee08 77e4bef7 [ComPlusMethodFrameGeneric: 0012ee08] Microsoft.Build.Tasks.Hosting.ICscHostObject.Compile()
0012ee18 6be671ab Microsoft.Build.Tasks.Csc.CallHostObjectToExecute()
0012ee48 6c0aed17 Microsoft.Build.Utilities.ToolTask.Execute()
0012ee7c 6bcbb348 Microsoft.Build.BuildEngine.TaskEngine.ExecuteTask(ExecutionMode, System.Collections.Hashtable, Microsoft.Build.BuildEngine.BuildPropertyGroup, Boolean ByRef)
0012ef24 6bcadf87 Microsoft.Build.BuildEngine.Target.ExecuteAllTasks(Microsoft.Build.BuildEngine.DependencyAnalysisResult, System.Collections.Hashtable, System.Collections.Hashtable, Microsoft.Build.BuildEngine.ItemBucket, System.Collections.ArrayList, Microsoft.Build.BuildEngine.BuildPropertyGroup)
0012efa0 6bcac7c0 Microsoft.Build.BuildEngine.Target.ExecuteAllTasks()
0012efec 6bcad05b Microsoft.Build.BuildEngine.Target.Build(System.Collections.IDictionary)
0012f070 6bcacfa6 Microsoft.Build.BuildEngine.Target.Build(System.Collections.IDictionary)
0012f0f4 6bcacfa6 Microsoft.Build.BuildEngine.Target.Build(System.Collections.IDictionary)
0012f178 6bcacfa6 Microsoft.Build.BuildEngine.Target.Build(System.Collections.IDictionary)
0012f1fc 6bc9b20d Microsoft.Build.BuildEngine.Project.DoBuild(System.String[], System.Collections.IDictionary, Boolean)
0012f250 6bca2134 Microsoft.Build.BuildEngine.Engine.BuildProject(Microsoft.Build.BuildEngine.Project, System.String[], System.Collections.IDictionary, Microsoft.Build.BuildEngine.BuildSettings, Boolean)
0012f2ac 6bc9af03 Microsoft.Build.BuildEngine.Project.Build(System.String[], System.Collections.IDictionary)
0012f2c0 04711a36 Microsoft.VisualStudio.Build.ComInteropWrapper.ProjectShim.BuildTarget(System.String, System.Collections.IDictionary)
0012f4f4 79f68cde [GCFrame: 0012f4f4] 
0012f650 79f68cde [ComMethodFrame: 0012f650] 

Ich bin noch auf der Suche nach einer Möglichkeit, die Ausnahme Inhalt zu untersuchen. ! PrintException keine Ausnahmen gefunden werden.

War es hilfreich?

Lösung 3

Das ist ein bisschen wortreich, also werde ich es als Antwort posten. Es ist von Microsoft Connect-Website, als Antwort auf meine Frage genommen. Leser könnte es relevant:

Datum: Do, 7. Mai 2009 19.14.52 -0700

Grüße von Microsoft Connect!

Diese Meldung generiert wurde für Feedback Artikel:. Nightly Probleme bauen (Eimer 365.749.762), die Sie auf der Microsoft Connect-Website eingereicht

Vielen Dank für den Hinweis auf dieses Problem mit Visual Studio 2005, und vielen Dank für die Deponien angetroffen haben Sie zur Verfügung gestellt haben!

Es sieht aus wie das Problem in cslangsvc.dll ist (der im Prozess C # Compiler), die devenv ist in ruft Build auszuführen.

Unser Vorschlag, um dieses Problem zu arbeiten würde zu versuchen, anstatt mit MSBuild Ihre Nightly Builds zu tun, da diese robuster sein sollte devenv / build als automatisieren. Insbesondere werden Sie wahrscheinlich dieses besondere Problem vermeiden, wie MSBuild csc.exe für die Kompilierung statt cslangsvc.dll verwenden.

Wir sind unwahrscheinlich, dass eine weitere VS 2005 Release haben, um eine Lösung für das Problem cslangsvc raus, so dass ich die Lösung dieser Fehler würden nicht beheben, aber bitte es reaktivieren, wenn Sie noch ein Problem sehen, wenn MSBuild mit .

Nochmals vielen Dank für all die Informationen zu diesem Thema!

Alex Turner Progamm Manager Visual C # Compiler

Andere Tipps

könnten Sie versuchen, die Installation von Debugging Tools für Windows dann verwenden -iae Option (für NTSD / CDB) oder die -I Option (für WinDBG) aus diesem Paket eine des Debugger zu haben, die JIT / AeDebug Debugger sein.

Ich kam schließlich zu einem Ausnahmetyp und Aufrufliste für die Verwerfungen Compiler. Ich tat dies, indem Sie eine vollständige Speicherabbilddatei (.dump / ma c: \ myCSCdump.dmp) zu speichern, dann die Dump-Datei geöffnet wird, wie Sie eine andere Projektdatei in VS2005 öffnen würden. Durch Drücken der Taste Run ergab folgende im Call-Stack-Fenster:

kernel32.dll!_RaiseException@16()  + 0x3c bytes 
  

cslangsvc.dll! ALLOCHOST :: ThrowOutOfMemoryException () + 0x10 Bytes
      cslangsvc.dll! PageHeap :: AllocPages () + 0xc1fd8 Bytes
      cslangsvc.dll! SYMTBL :: GrowTable () + 0x5b Bytes       cslangsvc.dll! BSYMMGR :: AddChild () + 0x3b Bytes       cslangsvc.dll! BSYMMGR :: CreateGlobalSym () + 0x2ba Bytes       cslangsvc.dll! BSYMMGR :: CreateMethod () + 0xc Bytes
      cslangsvc.dll! IMPORTER :: ImportMethod () + 0x1d9 Bytes
      cslangsvc.dll! IMPORTER :: DefineImportedType () + 0x3b2 Bytes       cslangsvc.dll! CLSDREC :: prepareAggregate () + 0x8D Bytes       cslangsvc.dll! COMPILER :: ForceAggStates () + 0x8e Bytes
      cslangsvc.dll! COMPILER :: ForceAggStates () + 0x127 Bytes       cslangsvc.dll! COMPILER :: EnsureState () + 0x2e Bytes       cslangsvc.dll! CLSDREC :: CheckForTypeErrors () + 0x23 Bytes
      cslangsvc.dll! CLSDREC :: CheckForTypeErrors () + 0x2ba Bytes
      cslangsvc.dll! CLSDREC :: CheckForTypeErrors () + 0x80 Bytes
      cslangsvc.dll! CLSDREC :: CheckForTypeErrors () + 0x8A Bytes
      cslangsvc.dll! CLSDREC :: CheckForTypeErrors () + 0x8A Bytes
      cslangsvc.dll! CLSDREC :: CheckForTypeErrors () + 0x8A Bytes
      cslangsvc.dll! COMPILER :: CheckForTypeErrors () + 0x100 Bytes       cslangsvc.dll! COMPILER :: compileall () + 0x546 Bytes       cslangsvc.dll! COMPILER :: Compile () + 0x7c Bytes       cslangsvc.dll! CController :: RunCompiler () + 0x177 Bytes       cslangsvc.dll! CController :: Compile () + 0x16 Bytes
      cslangsvc.dll! CCSharpProjectSite :: BuildProjectCore () + 0x5a Bytes
      cslangsvc.dll! CProjectSite :: Buildproject () + 0x11 Bytes
      csproj.dll! CCSharpBuildCompiler :: DoMainBuild () + 0x88 Bytes
      csproj.dll! CCscMSBuildHostObject :: Compile () + 0x4E Bytes
      mscorwks.dll!_CLRToCOMWorker@8 () + 0x171 Bytes

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top