PowerShell / PowerShell/PowerShell-Native
Running win32 application from shell "exits silently" but in reality crashes on load
Nessuno ha ancora preso questa issue.
- Lingua principale
- C++
- Stelle
- 68
- Fork
- 46
- Merge medio
- 3g 4h
- PR unite (30g)
- 1
Descrizione
So I ran into an issue where an application unexpectedly would no longer launch when called directly from the shell, i.e. ".\appname.exe"
After troubleshooting for a bit with my trusty old friend Process Monitor, I could see the process opening and closing down again, looking at the Process Exit event, I saw the exit code of -1073741515 (aka. 0xC0000135, aka. STATUS_DLL_NOT_FOUND)
That was a quite easy fix, but it nagged me that I got no indication of the failure, in any other circumstance (running from cmd, double-clicking in explorer, run or even in powershell with Start-Process) a message would pop up stating a DLL was missing, and which one it was.
(I don't know if this issue extends to Linux/MacOS, or even if it can affect those platform)
Steps to reproduce
- First and foremost, a win32(native) application is needed with a linked library that's missing
- PS > .\path\to\executable.exe
Expected behavior
External System Error prompt
Actual behavior
No Output
Environment data
Name Value
---- -----
PSVersion 6.2.3
PSEdition Core
GitCommitId 6.2.3
OS Microsoft Windows 10.0.18362
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia riproducendo il comando Windows PowerShell con un eseguibile nativo a cui manca la DLL collegata, quindi esamina come l’avvio del processo gestisce l’errore. Il lavoro è completato quando l’invocazione dell’eseguibile segnala un External System Error che identifica la DLL mancante invece di non produrre alcun output.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- powershell
- Ambito
- cli, operating-systems
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100