Question

J'essaie de savoir où les rapports d'erreurs de Windows sont enregistrés; i frappé Envoyer sur certains plus tôt aujourd'hui, mais j'ai oublié que je veux « voir les détails » pour que je puisse examiner les minidumps de mémoire.

Mais je ne peux pas trouver où ils sont stockés (et Google ne sait pas).

Alors je veux écrire une application factice qui va planter, montrer la boîte de dialogue REH, laissez-moi cliquez sur « voir les détails » pour que je puisse obtenir le dossier dans lequel les décharges sont enregistrées.

Comment puis-je planter sur Windows?

Modifier La raison pour laquelle je demande est parce que je l'ai essayé déborder la pile, et à virgule flottante division par zéro. Stack Overflow rend la Vanish app, mais pas de dialogue REH sauté vers le haut. division à virgule flottante par zéro dans les résultats + INF, mais pas exception, et pas de plantage.

Était-ce utile?

La solution

Si un bon début:

int main(int argc, char* argv[])
{
   char *pointer = NULL;
   printf("crash please %s", *pointer);
   return 0;
}

Autres conseils

Vous les gars sont tous si bavard! : -)

Voici une façon compacte de le faire:

*((int*)0)=0;

Vous assumez les vidages de mémoire sont toujours là. Une fois qu'ils sont envoyés, les décharges sont afaik supprimés de la machine.

Les dépotoirs eux-mêmes doivent être situés en% TEMP% quelque part.

En ce qui s'écraser, ce n'est pas difficile, faire quelque chose qui provoque une erreur de segmentation.

Je ne sais pas si cela déclenchera l'erreur de dialogue de rapport, mais vous pouvez essayer une division par zéro.

void crash(void)
{
    char* a = 0;
    *a = 0;
}

On peut trouver les moyens bénéficiant d'un soutien pour déclencher un accident exprès ici:

http://msdn.microsoft.com /en-us/library/ff545484(v=VS.85).aspx

En gros:

  

Avec les claviers USB, vous devez activer   l'accident initié clavier dans la   enregistrement. Dans la clé de Registre   HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ kbdhid \ Paramètres,   créer une valeur nommée   CrashOnCtrlScroll, et le mettre égal à   une valeur REG_DWORD de 0x01.

Alors:

  

Vous devez redémarrer le système pour ces   les paramètres prennent effet.

     

Après cela est terminé, le clavier   accident peut être lancé en utilisant le   séquence suivante raccourci clavier: Maintenez   la droite touche CTRL enfoncée, puis appuyez sur la   clé défil deux fois.

Pas de programmation nécessaire;) Pas de réinvention roue ici:)

Il est intéressant de savoir comment le plantage de Windows. Mais pourquoi ne pas jeter un oeil à

%allusersprofile%\Application Data\Microsoft\Dr Watson\ 

d'abord? Attention pour les dossiers de crashdata de spécifiques d'application ainsi, je trouve par exemple

...\FirefoxPortable\Data\profile\minidumps\ 

et

...\OpenOfficePortable\Data\settings\user\crashdata\.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top