Maison > développement back-end > Golang > le corps du texte

L'application Calculatrice Windows se bloque en raison d'une incohérence WerFault lors du lancement à partir d'un service utilisant CreateProcessAsUserW()

PHPz
Libérer: 2024-02-05 22:51:07
avant
1198 Les gens l'ont consulté

使用 CreateProcessAsUserW() 从服务启动时,Windows 计算器应用程序会因 WerFault 不一致而崩溃

Contenu de la question

Le service Windows est écrit en Go et tente de créer un processus de calculatrice dans le contexte utilisateur en utilisant CreateProcessAsUserW().

Son code s'inspire de l'essentiel :

https://gist.github.com/LiamHaworth/1ac37f7fb6018293fc43f86993db24fc#file-native-go

La plupart du temps, l'application de calculatrice se lance chez l'utilisateur actif ; cependant, parfois l'application ne parvient pas à se lancer sans CreateProcessAsUserW() renvoyer une erreur.

L'inspection à l'aide de Procmon a révélé qu'au lancement de l'application Calculatrice, l'application s'est écrasée et a eu recours à la collecte des dumps WerFault. Malheureusement, je ne vois pas de dump détaillé dans le journal des événements.

Crash WerFault observé dans ProcMon

Traces de pile détaillées pour le lancement de 3 applications de calculatrice similaires à l'aide de CreateProcessAsUserW - les deux premières ont réussi, la troisième a échoué

Cette erreur est de nature aléatoire, ce qui ne rend pas l'application fiable. Je n'ai aucune idée de quoi/comment déboguer à partir d'ici et j'apprécierais vraiment toute aide.


Bonne réponse


L'erreur semble se produire en raison d'un mauvais environnement de compilation où les binaires créés avec x64 sont exécutés sur arm64. Merci pour la contribution de tous

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!