c # - System.ArgumentNullException, P10 NIL og korrekt dmp fie steder?

Indlæg af Hanne Mølgaard Plasc

Problem



Vi har en ansøgning, der er skrevet i .NET 3.5. Denne app virker på alle vores systemer bortset fra en (den vi håbede at ville fungere:/), hvor den har følgende fejl i EventViewer


========================

Event Type: Error
Event Source:   .NET Runtime 2.0 Error Reporting
Event Category: None
Event ID:   5000
Date:       1/28/2011
Time:       8:22:07 AM
User:       N/A
Computer:   MGx12-Production
Description:
EventType clr20r3, P1 Sync.exe, P2 1.0.0.0, P3 4d42d290, P4 mscorlib, P5 2.0.0.0, P6 492b834a, P7 df, P8 b, P9 system.argumentnullexception, P10 NIL.

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
Data:
0000: 63 00 6c 00 72 00 32 00   c.l.r.2.
0008: 30 00 72 00 33 00 2c 00   0.r.3.,.
0010: 20 00 73 00 63 00 72 00    .s.c.r.
0018: 65 00 65 00 6e 00 7e 00   e.e.n.~.
0020: 31 00 2e 00 73 00 63 00   1...s.c.
0028: 72 00 2c 00 20 00 31 00   r.,. .1.
0030: 2e 00 30 00 2e 00 30 00   ..0...0.
0038: 2e 00 30 00 2c 00 20 00   ..0.,. .
0040: 34 00 64 00 34 00 32 00   4.d.4.2.
0048: 64 00 32 00 39 00 30 00   d.2.9.0.
0050: 2c 00 20 00 6d 00 73 00   ,. .m.s.
0058: 63 00 6f 00 72 00 6c 00   c.o.r.l.
0060: 69 00 62 00 2c 00 20 00   i.b.,. .
0068: 32 00 2e 00 30 00 2e 00   2...0...
0070: 30 00 2e 00 30 00 2c 00   0...0.,.
0078: 20 00 34 00 39 00 32 00    .4.9.2.
0080: 62 00 38 00 33 00 34 00   b.8.3.4.
0088: 61 00 2c 00 20 00 64 00   a.,. .d.
0090: 66 00 2c 00 20 00 62 00   f.,. .b.
0098: 2c 00 20 00 73 00 79 00   ,. .s.y.
00a0: 73 00 74 00 65 00 6d 00   s.t.e.m.
00a8: 2e 00 61 00 72 00 67 00   ..a.r.g.
00b0: 75 00 6d 00 65 00 6e 00   u.m.e.n.
00b8: 74 00 6e 00 75 00 6c 00   t.n.u.l.
00c0: 6c 00 65 00 78 00 63 00   l.e.x.c.
00c8: 65 00 70 00 74 00 69 00   e.p.t.i.
00d0: 6f 00 6e 00 20 00 4e 00   o.n. .N.
00d8: 49 00 4c 00 0d 00 0a 00   I.L.....
================================================


Som du kan se, sker denne fejl i mscorlib. Jeg har forsøgt at følge disse instruktioner, men jeg synes ikke at kunne finde den rigtige dumpfil.


Jeg bør nævne, at appen kører fint, når du kører det selv; det svigter kun, når det kaldes af native windows container! Så den metode, der er nævnt ovenfor, vil ikke rigtig virke for mig.


Når det er sagt, installerede jeg windows debugging værktøjet, og jeg kan se, at i \%TEMP\% mappe oprettes en dmp fil, som jeg havde håbet jeg kunne bruge til at debug og se, hvad der forårsager 'nullpointer' i mscorlib. Desværre bliver denne dmp-fil slettet et par sekunder efter, at den er oprettet uden adgang til filen (dvs. ingen kopi eller omdøbning), mens filen eksisterer, fordi den bruges af et andet program.


Er der nogen der ved, hvor Windows-rapporteringsværktøjet holder dmp-filen? Hvor kan jeg finde en ordentlig dmp-fil til dette crash?


Hvordan kan jeg gå til debugging dette?

Bedste reference


Jeg er ikke opmærksom på en mulighed for at generere eller bevare en minidump ud over Environment.FailFast. Du kan omdanne Watson loggen med hints i dette svar. Men det er virkelig smertefuldt og ikke så informativt. Skriv en hændelseshandler for AppDomain.CurrentDomain.UnhandledException og log eller vis værdien af ​​e.ExceptionObject.ToString (). Stakken sporet du får, er næsten altid god nok til at finde ud af problemet.