1

Ich versuche, meine erste WPF-Anwendung mit der gefundenen Methode here zu implementieren. Die EXE- und MSI-Dateien können auf einen anderen Computer geladen werden, und das Programm läuft auf dem Host-Computer einwandfrei, aber die Anwendung kann aufgrund eines Fehlers nicht ausgeführt werden. Mit Hilfe der Erklärung auf einer anderen question, die WEN Spur eine Datei nicht gefunden Ausnahme gibt:Klasse, Methode und Leitungsort des WPF-Setup-/Bereitstellungsfehlers finden

<ProblemSignatures> 
    <EventType>CLR20r3</EventType> 
    <Parameter0>TestProgram.exe</Parameter0> 
    <Parameter1>1.0.0.0</Parameter1> 
    <Parameter2>57421ac1</Parameter2> 
    <Parameter3>TestProgram</Parameter3> 
    <Parameter4>1.0.0.0</Parameter4> 
    <Parameter5>57421ac1</Parameter5> 
    <Parameter6>8</Parameter6> 
    <Parameter7>1b</Parameter7> 
    <Parameter8>System.IO.FileNotFoundException</Parameter8> 
</ProblemSignatures> 

Erstens, weil die Nicht-Setup-Projekt-Lösung nicht als das Startobjekt gesetzt wurde, habe ich versucht, das Projekt als Startobjekt Einstellung , die Lösung und ihre Projekte neu erstellen und erneut bereitstellen.

Nachdem der Fehler geblieben ist, schaute ich als nächstes die erkannten Abhängigkeiten des Setup-Projekts und bemerkte Microsoft .NET Framework, EntityFramework.dll, EntityFramework.SqlServer.dll und System.Net.Http.dll. Ich dachte darüber nach, die EF- und die Http-DLL-Dateien zu löschen, da der Fehler möglicherweise nach Visual Studio sucht, das auf dem Zielcomputer nicht verfügbar ist.

Ist diese Interpretation korrekt oder gibt es ein anderes Problem, das jeder erkennen kann? Das Programm verwendet keine Software von Drittanbietern, die nicht in Visual Studio enthalten ist. Vielen Dank im Voraus!

EDIT 1:

ich heruntergeladen WinDBG und die ausführbare Datei auf dem Zielcomputer geöffnet. Vor dem Ausführen der „Go“, erschienen:

Executable search path is: 
ModLoad: 00000000`00eb0000 00000000`00f10000 TestProgram.exe 
ModLoad: 00000000`776a0000 00000000`7784a000 ntdll.dll 
ModLoad: 00000000`77880000 00000000`77a00000 ntdll32.dll 
ModLoad: 00000000`73dc0000 00000000`73dff000 C:\Windows\SYSTEM32\wow64.dll 
ModLoad: 00000000`73d60000 00000000`73dbc000 C:\Windows\SYSTEM32\wow64win.dll 
ModLoad: 00000000`73d50000 00000000`73d58000 C:\Windows\SYSTEM32\wow64cpu.dll 
(151c.15f0): Break instruction exception - code 80000003 (first chance) 
ntdll!LdrpDoDebuggerBreak+0x30: 
00000000`77747800 cc    int  3 

Wie dies geschah, bevor das Programm lief, bedeutet dies eine fehlende assembly „wow64cpu.dll“ auf dem Zielcomputer angeben? Nach dem Drücken von "Debug => Go" wird dies angezeigt:

0:000> g 
ModLoad: 00000000`77580000 00000000`7769f000 WOW64_IMAGE_SECTION 
ModLoad: 00000000`771e0000 00000000`772f0000 WOW64_IMAGE_SECTION 
ModLoad: 00000000`77580000 00000000`7769f000 NOT_AN_IMAGE 
ModLoad: 00000000`77480000 00000000`7757a000 NOT_AN_IMAGE 
ModLoad: 00000000`73d00000 00000000`73d4a000 C:\Windows\SysWOW64\MSCOREE.DLL 
ModLoad: 00000000`771e0000 00000000`772f0000 C:\Windows\syswow64\KERNEL32.dll 
ModLoad: 00000000`76af0000 00000000`76b37000 C:\Windows\syswow64\KERNELBASE.dll 
(151c.15f0): WOW64 breakpoint - code 4000001f (first chance) 
First chance exceptions are reported before any exception handling. 
This exception may be expected and handled. 
ntdll32!LdrpDoDebuggerBreak+0x2c: 
77920e14 cc    int  3 

Ist dies darauf hindeuten, KERNELBASE.dll als das Problem Code? Nach diesem Fehler wird die Anwendung geladen und verhält sich korrekt. Sieht jemand eine Heilung dafür?

EDIT 2:

ich ziemlich viel Forschung getan haben über WinDBG und finden Code beleidigen zu lernen, aber ich kann immer noch nicht auf die genaue Quelle zu bekommen. Hier ist der Crash-Dump nach WinDBG dem Verfahren angebracht wird, aber ich kann keine umfassenden Listen von DEFAULT_BUCKET_ID Bedeutungen scheint zu finden, oder dergleichen überall im Web:

Loading Dump File [C:\mydump.dmp] 
User Mini Dump File with Full Memory: Only application data is available 

************* Symbol Path validation summary ************** 
Response       Time (ms)  Location 
Deferred          srv* 
Symbol search path is: srv* 
Executable search path is: 
Windows 7 Version 7601 (Service Pack 1) MP (2 procs) Free x64 
Product: WinNt, suite: SingleUserTS 
Built by: 6.1.7601.18015 (win7sp1_gdr.121129-1432) 
Machine Name: 
Debug session time: Tue May 24 09:16:17.000 2016 (UTC - 5:00) 
System Uptime: 0 days 21:10:24.768 
Process Uptime: 0 days 0:18:49.000 
.............................................. 
This dump file has a breakpoint exception stored in it. 
The stored exception information can be accessed via .ecxr. 
ntdll!DbgBreakPoint: 
00000000`776eae10 cc    int  3 


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

*** WARNING: Unable to verify checksum for mscorlib.ni.dll 
*** WARNING: Unable to verify checksum for TestProject.exe 
*** ERROR: Module load completed but symbols could not be loaded for TestProject.exe 

DUMP_CLASS: 2 

DUMP_QUALIFIER: 400 

CONTEXT: (.ecxr) 
rax=00000000fffaa000 rbx=0000000000000000 rcx=00000000fffdf000 
rdx=0000000000000000 rsi=0000000000000000 rdi=0000000000000000 
rip=00000000776eae10 rsp=00000000005ffb08 rbp=0000000000000000 
r8=0000000000000000 r9=0000000077792c50 r10=0000000000000000 
r11=0000000000000000 r12=0000000000000000 r13=0000000000000000 
r14=0000000000000000 r15=0000000000000000 
iopl=0   nv up ei pl zr na po nc 
cs=0033 ss=002b ds=002b es=002b fs=0053 gs=002b    efl=00000244 
ntdll!DbgBreakPoint: 
00000000`776eae10 cc    int  3 
Resetting default scope 

FAULTING_IP: 
ntdll!DbgBreakPoint+0 
00000000`776eae10 cc    int  3 

EXCEPTION_RECORD: (.exr -1) 
ExceptionAddress: 00000000776eae10 (ntdll!DbgBreakPoint) 
    ExceptionCode: 80000003 (Break instruction exception) 
    ExceptionFlags: 00000000 
NumberParameters: 1 
    Parameter[0]: 0000000000000000 

DEFAULT_BUCKET_ID: STATUS_BREAKPOINT_NOSOS 

PROCESS_NAME: TestProject.exe 

ERROR_CODE: (NTSTATUS) 0x80000003 - {EXCEPTION} Breakpoint A breakpoint has been reached. 

EXCEPTION_CODE: (HRESULT) 0x80000003 (2147483651) - One or more arguments are invalid 

EXCEPTION_CODE_STR: 80000003 

EXCEPTION_PARAMETER1: 0000000000000000 

WATSON_BKT_PROCSTAMP: 4b90752b 

WATSON_BKT_PROCVER: 4.0.40305.0 

PROCESS_VER_PRODUCT: Microsoft® .NET Framework 

WATSON_BKT_MODULE: ntdll.dll 

WATSON_BKT_MODSTAMP: 5708a857 

WATSON_BKT_MODOFFSET: 4ae10 

WATSON_BKT_MODVER: 6.1.7601.23418 

MODULE_VER_PRODUCT: Microsoft® Windows® Operating System 

BUILD_VERSION_STRING: 6.1.7601.23418 (win7sp1_ldr.160408-2045) 

MODLIST_WITH_TSCHKSUM_HASH: 94102de765f4eea4636b2c54fba83facd31885fb 

MODLIST_SHA1_HASH: 909c35bf4b61b0a9036f6eafbb05dcb2b73eca6c 

NTGLOBALFLAG: 0 

APPLICATION_VERIFIER_FLAGS: 0 

PRODUCT_TYPE: 1 

SUITE_MASK: 272 

DUMP_FLAGS: c07 

DUMP_TYPE: 0 

APP: testproject.exe 

MISSING_CLR_SYMBOL: 0 

ANALYSIS_SESSION_HOST: JLE-PC 

ANALYSIS_SESSION_TIME: 05-24-2016 09:47:17.0337 

ANALYSIS_VERSION: 10.0.10586.567 amd64fre 

MANAGED_CODE: 1 

MANAGED_ENGINE_MODULE: clr 

THREAD_ATTRIBUTES: 
    OS_LOCALE: ENU 

PROBLEM_CLASSES: 

    Tid [0x0] 
    Frame [0x00] 
    String [STATUS_BREAKPOINT] 
    Data Bucketing 

NOSOS 
    Tid [0xdc0] 
    Failure Bucketing 

BUGCHECK_STR: STATUS_BREAKPOINT_NOSOS 

PRIMARY_PROBLEM_CLASS: MANUAL_BREAKIN 

STACK_TEXT: 
00000000`005ffb08 00000000`77792c88 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!DbgBreakPoint 
00000000`005ffb10 00000000`777023fc : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!DbgUiRemoteBreakin+0x38 
00000000`005ffb40 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x25 

THREAD_SHA1_HASH_MOD_FUNC: 7022ac660180cc117dbba4701e87bc997be1e021 

THREAD_SHA1_HASH_MOD_FUNC_OFFSET: 2758687e8d5375c704a76728e5a036d2024bc4a9 

THREAD_SHA1_HASH_MOD: ec3b5fdb1c6f649ec34d8fd34d70509a58a63226 

FOLLOWUP_IP: 
    ntdll!DbgBreakPoint+0 
00000000`776eae10 cc    int  3 

FAULT_INSTR_CODE: ccccc3cc 

SYMBOL_STACK_INDEX: 0 

SYMBOL_NAME: ntdll!DbgBreakPoint+0 

FOLLOWUP_NAME: MachineOwner 

MODULE_NAME: ntdll 

IMAGE_NAME: ntdll.dll 

DEBUG_FLR_IMAGE_TIMESTAMP: 5708a857 

STACK_COMMAND: .ecxr ; kb 

BUCKET_ID: MANUAL_BREAKIN 

BUCKET_ID_OFFSET: 0 

BUCKET_ID_MODULE_STR: ntdll 

BUCKET_ID_MODTIMEDATESTAMP: 5708a73e 

BUCKET_ID_MODCHECKSUM: 1422cd 

BUCKET_ID_MODVER_STR: 6.1.7601.23418 

BUCKET_ID_PREFIX_STR: MANUAL_BREAKIN 

FAILURE_PROBLEM_CLASS: STATUS_BREAKPOINT_NOSOS 

FAILURE_EXCEPTION_CODE: 80000003 

FAILURE_IMAGE_NAME: ntdll.dll 

FAILURE_FUNCTION_NAME: DbgBreakPoint 

BUCKET_ID_FUNCTION_STR: DbgBreakPoint 

FAILURE_SYMBOL_NAME: ntdll.dll!DbgBreakPoint 

FAILURE_BUCKET_ID: STATUS_BREAKPOINT_NOSOS_80000003_ntdll.dll!DbgBreakPoint 

WATSON_STAGEONE_URL: http://watson.microsoft.com/StageOne/TestProject.exe/4.0.40305.0/4b90752b/ntdll.dll/6.1.7601.23418/5708a857/80000003/0004ae10.htm?Retriage=1 

TARGET_TIME: 2016-05-24T14:16:17.000Z 

OSBUILD: 7601 

OSSERVICEPACK: 23418 

SERVICEPACK_NUMBER: 0 

OS_REVISION: 0 

OSPLATFORM_TYPE: x64 

OSNAME: Windows 7 

OSEDITION: Windows 7 WinNt (Service Pack 1) SingleUserTS 

USER_LCID: 0 

OSBUILD_TIMESTAMP: 2016-04-09 01:57:39 

BUILDDATESTAMP_STR: 160408-2045 

BUILDLAB_STR: win7sp1_ldr 

BUILDOSVER_STR: 6.1.7601.23418 

ANALYSIS_SESSION_ELAPSED_TIME: 857e 

ANALYSIS_SOURCE: UM 

FAILURE_ID_HASH_STRING: um:status_breakpoint_nosos_80000003_ntdll.dll!dbgbreakpoint 

FAILURE_ID_HASH: {be84a3d9-49dc-a8ad-4a71-89a1a8bdbc50} 

Followup:  MachineOwner 
--------- 

Hier ist die Themenliste:

0:004> ~ 
    0 Id: dd8.150c Suspend: 1 Teb: 00000000`fffdb000 Unfrozen 
    1 Id: dd8.125c Suspend: 1 Teb: 00000000`fffd8000 Unfrozen 
    2 Id: dd8.17c4 Suspend: 1 Teb: 00000000`fffd5000 Unfrozen 
    3 Id: dd8.15c0 Suspend: 1 Teb: 00000000`fffad000 Unfrozen 
    4 Id: dd8.dc0 Suspend: 0 Teb: 00000000`fffaa000 Unfrozen 

Und hier ist der Call-Stack dieses Threads, aber ich weiß noch nicht, wohin man von hier gehen Sie zu:

0:004> ~*kn 

    0 Id: dd8.150c Suspend: 1 Teb: 00000000`fffdb000 Unfrozen 
# Child-SP   RetAddr   Call Site 
00 00000000`0019e908 00000000`73d5283e wow64cpu!CpupSyscallStub+0x9 
01 00000000`0019e910 00000000`73dcd286 wow64cpu!WaitForMultipleObjects32+0x3b 
02 00000000`0019e9d0 00000000`73dcc69e wow64!RunCpuSimulation+0xa 
03 00000000`0019ea20 00000000`776df9b6 wow64!Wow64LdrpInitialize+0x42a 
04 00000000`0019ef70 00000000`7773bb89 ntdll!LdrpInitializeProcess+0x17e3 
05 00000000`0019f460 00000000`776ca0ee ntdll! ?? ::FNODOBFM::`string'+0x22a30 
06 00000000`0019f4d0 00000000`00000000 ntdll!LdrInitializeThunk+0xe 

    1 Id: dd8.125c Suspend: 1 Teb: 00000000`fffd8000 Unfrozen 
# Child-SP   RetAddr   Call Site 
00 00000000`01f3edd8 00000000`73d5283e wow64cpu!CpupSyscallStub+0x9 
01 00000000`01f3ede0 00000000`73dcd286 wow64cpu!WaitForMultipleObjects32+0x3b 
02 00000000`01f3eea0 00000000`73dcc69e wow64!RunCpuSimulation+0xa 
03 00000000`01f3eef0 00000000`777098dc wow64!Wow64LdrpInitialize+0x42a 
04 00000000`01f3f440 00000000`776ca0ee ntdll! ?? ::FNODOBFM::`string'+0x22b74 
05 00000000`01f3f4b0 00000000`00000000 ntdll!LdrInitializeThunk+0xe 

    2 Id: dd8.17c4 Suspend: 1 Teb: 00000000`fffd5000 Unfrozen 
# Child-SP   RetAddr   Call Site 
00 00000000`01fef038 00000000`73d52bf1 wow64cpu!CpupSyscallStub+0x9 
01 00000000`01fef040 00000000`73dcd286 wow64cpu!Thunk0ArgReloadState+0x23 
02 00000000`01fef100 00000000`73dcc69e wow64!RunCpuSimulation+0xa 
03 00000000`01fef150 00000000`777098dc wow64!Wow64LdrpInitialize+0x42a 
04 00000000`01fef6a0 00000000`776ca0ee ntdll! ?? ::FNODOBFM::`string'+0x22b74 
05 00000000`01fef710 00000000`00000000 ntdll!LdrInitializeThunk+0xe 

    3 Id: dd8.15c0 Suspend: 1 Teb: 00000000`fffad000 Unfrozen 
# Child-SP   RetAddr   Call Site 
00 00000000`020de908 00000000`73d5283e wow64cpu!CpupSyscallStub+0x9 
01 00000000`020de910 00000000`73dcd286 wow64cpu!WaitForMultipleObjects32+0x3b 
02 00000000`020de9d0 00000000`73dcc69e wow64!RunCpuSimulation+0xa 
03 00000000`020dea20 00000000`777098dc wow64!Wow64LdrpInitialize+0x42a 
04 00000000`020def70 00000000`776ca0ee ntdll! ?? ::FNODOBFM::`string'+0x22b74 
05 00000000`020defe0 00000000`00000000 ntdll!LdrInitializeThunk+0xe 

# 4 Id: dd8.dc0 Suspend: 0 Teb: 00000000`fffaa000 Unfrozen 
# Child-SP   RetAddr   Call Site 
00 00000000`005ffb08 00000000`77792c88 ntdll!DbgBreakPoint 
01 00000000`005ffb10 00000000`777023fc ntdll!DbgUiRemoteBreakin+0x38 
02 00000000`005ffb40 00000000`00000000 ntdll!RtlUserThreadStart+0x25 

All hier Hilfe würde sehr geschätzt werden. Ich habe ziemlich viel Zeit mit Recherchen verbracht und bin immer noch auf der Suche nach allem, was sagen wird "Der Fehler liegt in der Klasse [Klassenname] in der Methode [Methodenname] in der Zeile x." Wenn ich versuche, der Komplettlösung here zu folgen, gibt WinDBG "No [command name] found" zurück.

+0

Können Sie die Nachricht der Ausnahme sehen? Das sollte Ihnen genau sagen, welche Datei es sucht. – vesan

+0

@vesan - danke für die Antwort! Der WER-Trace scheint keinen Dateinamen anzugeben. Ich untersuche die Tracing-Methoden von der anderen Frage, die in der Antwort verlinkt ist, aber weißt du irgendwelche Wege? – jle

Antwort

1

Ihre Dump-Trace-Informationen sehen nicht ganz richtig aus, weil Sie in sie eingebrochen sind. Daher weisen die Stack-Traces meistens auf eine Break-Ausnahme hin (aber ich bin kein WinDBG-Experte).

Es wäre hilfreich zu wissen, wann die App abstürzt. Wenn es unmittelbar ist, könnte es eine fehlende Abhängigkeit sein, und der Fusion Log Viewer könnte dabei helfen. Es ist auch nicht klar, ob Ihr Code vollständig verwaltet wird oder C++ enthält, was C++ - Laufzeitunterstützung auf dem Zielsystem erfordern würde.

Auch, welche Version von Visual Studio haben Sie verwendet, um dies zu erstellen, und sind Sie sicher, dass Ihre erforderliche .NET FW auf dem Zielsystem installiert ist?

+0

Vielen Dank @PhilDW für die Antwort! Die App stürzt sofort ab und wird nach erfolgreicher Installation nicht mehr geöffnet. Ich denke auch, dass es ein Abhängigkeitsproblem geben könnte. Die App wurde in C# auf Visual Studio 2015 entworfen, daher ist das .NET FW-Problem ein weiterer guter Vorschlag. Ich werde das so schnell wie möglich auf einem anderen Rechner testen und mit einem Update melden. – jle

+0

Nach dem Laden der Anwendung auf eine neue Maschine, wurde es geöffnet und lief perfekt. Daher muss das .NET Framework auf den anderen Testcomputern frühere Versionen sein. – jle