IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

[DirectX SQK avril 2007][VS2005] Plantage en mode normal, pas en mode debug


Sujet :

C#

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 123
    Points : 85
    Points
    85
    Par défaut [DirectX SQK avril 2007][VS2005] Plantage en mode normal, pas en mode debug
    Bonjour,

    D'abord, je tiens à préciser que le problème décrit ci-dessous se produit aussi avec l'exemple fourni avec le SDK DirectX dans le dossier Samples\Managed\DirectSound\CaptureSound


    Voici l'extrait de code (il plante sur la dernière ligne)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    for (int i = 0; i < this.NumberRecordNotifications; i++) {
      this.m_PositionNotify[i].Offset = (this.NotifySize * i) + this.NotifySize - 1;
      this.m_PositionNotify[i].EventNotifyHandle = this.m_NotificationEvent.Handle;
    }
     
    this.m_Notify = new Microsoft.DirectX.DirectSound.Notify(CaptureBuffer);
    this.m_Notify.SetNotificationPositions(this.m_PositionNotify, this.NumberRecordNotifications);
    Sachant que dans le constructeur j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    this.NumberRecordNotifications = 16;
    this.m_PositionNotify = new Microsoft.DirectX.DirectSound.BufferPositionNotify[this.NumberRecordNotifications + 1];
    Si j'exécute le programme sur ma machine pas de problème. Si j'exécute sur une autre machine, j'ai un joli crash, SAUF si j'exécute le programme sur cette autre machine en utilisant le débuggage distant de VS2005

    Je n'y comprend rien !




    Le crash retourne les informations suivantes :

    Consultez la fin de ce message pour plus de détails sur l'appel du débogage
    juste-à-temps (JIT) à la place de cette boîte de dialogue.

    ************** Texte de l'exception **************
    System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.
    à Microsoft.DirectX.DirectSound.Notify.SetNotificationPositions(BufferPositionNotify[] notify, Int32 numNotificationPositions)
    à rectests.record.BeginCapturing() dans D:\frantz\Electronique\rectests\c#-v2\rectests\record.cs:ligne 196
    à rectests.record.Start(String FileName) dans D:\frantz\Electronique\rectests\c#-v2\rectests\record.cs:ligne 114
    à rectests.Form1.rec() dans D:\frantz\Electronique\rectests\c#-v2\rectests\Form1.cs:ligne 235
    à rectests.Form1.btn_rec_Click(Object sender, EventArgs e) dans D:\frantz\Electronique\rectests\c#-v2\rectests\Form1.cs:ligne 241
    à System.Windows.Forms.Control.OnClick(EventArgs e)
    à System.Windows.Forms.Button.OnClick(EventArgs e)
    à System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
    à System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    à System.Windows.Forms.Control.WndProc(Message& m)
    à System.Windows.Forms.ButtonBase.WndProc(Message& m)
    à System.Windows.Forms.Button.WndProc(Message& m)
    à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    à System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


    ************** Assemblys chargés **************
    mscorlib
    Version de l'assembly*: 2.0.0.0
    Version Win32*: 2.0.50727.1433 (REDBITS.050727-1400)
    CodeBase*: file:///c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
    ----------------------------------------
    rectests
    Version de l'assembly*: 1.0.0.0
    Version Win32*: 1.0.0.0
    CodeBase*: file:///C:/Nouveau%20dossier/rectests.exe
    ----------------------------------------
    System.Windows.Forms
    Version de l'assembly*: 2.0.0.0
    Version Win32*: 2.0.50727.1433 (REDBITS.050727-1400)
    CodeBase*: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    ----------------------------------------
    System
    Version de l'assembly*: 2.0.0.0
    Version Win32*: 2.0.50727.1433 (REDBITS.050727-1400)
    CodeBase*: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
    ----------------------------------------
    System.Drawing
    Version de l'assembly*: 2.0.0.0
    Version Win32*: 2.0.50727.1433 (REDBITS.050727-1400)
    CodeBase*: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    ----------------------------------------
    Interop.QuartzTypeLib
    Version de l'assembly*: 1.0.0.0
    Version Win32*: 1.0.0.0
    CodeBase*: file:///C:/Nouveau%20dossier/Interop.QuartzTypeLib.DLL
    ----------------------------------------
    Microsoft.DirectX.DirectSound
    Version de l'assembly*: 1.0.2902.0
    Version Win32*: 5.04.00.2904
    CodeBase*: file:///C:/WINDOWS/assembly/GAC/Microsoft.DirectX.DirectSound/1.0.2902.0__31bf3856ad364e35/Microsoft.DirectX.DirectSound.dll
    ----------------------------------------
    System.resources
    Version de l'assembly*: 2.0.0.0
    Version Win32*: 2.0.50727.42 (RTM.050727-4200)
    CodeBase*: file:///C:/WINDOWS/assembly/GAC_MSIL/System.resources/2.0.0.0_fr_b77a5c561934e089/System.resources.dll
    ----------------------------------------
    Microsoft.VisualC
    Version de l'assembly*: 8.0.0.0
    Version Win32*: 8.00.50727.1433
    CodeBase*: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualC/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualC.dll
    ----------------------------------------
    Microsoft.DirectX
    Version de l'assembly*: 1.0.2902.0
    Version Win32*: 5.04.00.2904
    CodeBase*: file:///C:/WINDOWS/assembly/GAC/Microsoft.DirectX/1.0.2902.0__31bf3856ad364e35/Microsoft.DirectX.dll
    ----------------------------------------
    mscorlib.resources
    Version de l'assembly*: 2.0.0.0
    Version Win32*: 2.0.50727.1433 (REDBITS.050727-1400)
    CodeBase*: file:///c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
    ----------------------------------------
    System.Windows.Forms.resources
    Version de l'assembly*: 2.0.0.0
    Version Win32*: 2.0.50727.42 (RTM.050727-4200)
    CodeBase*: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_fr_b77a5c561934e089/System.Windows.Forms.resources.dll
    ----------------------------------------

    ************** Débogage JIT **************
    Pour activer le débogage juste-à-temps (JIT), le fichier de configuration pour cette
    application ou cet ordinateur (machine.config) doit avoir la valeur
    jitDebugging définie dans la section system.windows.forms.
    L'application doit également être compilée avec le débogage
    activé.

    Par exemple*:

    <configuration>
    <system.windows.forms jitDebugging="true" />
    </configuration>

    Lorsque le débogage juste-à-temps est activé, les exceptions non gérées
    seront envoyées au débogueur JIT inscrit sur l'ordinateur
    plutôt que d'être gérées par cette boîte de dialogue.

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Peut-être un problème de version de DirectX ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 123
    Points : 85
    Points
    85
    Par défaut
    Suite à l'hyptothèse de problème de version de DirectX, j'ai fait d'autres tests....

    Je ne comprend toujours pas pourquoi sur une même machine, cela ne marche pas en mode normal, mais que cela fonctionne en mode debuggage.

    Cependant, j'ai essayé sur d'autres ordinateurs, et cela fonctionne... Je pencherais donc pour un bug au niveau de l'émulation audio de VMWare (ma première machine de test était de nature virtuelle)

    Je passe cette question en mode délestage ...

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 123
    Points : 85
    Points
    85
    Par défaut
    J'ai tenté d'installer l'apli sur une nouvelle machine ... un méchant Crash.

    C'est le même OS (Windows XP) avec toutes les mises à jour Windows installées (y compris les MAJ facultatives), et le soft réagit différement.

    J'ai même essayé de transférer la carte son d'un PC qui marche vers le PC qui ne marche pas et d'installer la même version du pilote.

    Cela n'a rien changé.

    Je laisse tomber la solution DirectX pour la capture audio.

    J'ai trouvé ceci qui utilise l'API Windows... Cela marche, même s'il faut revoir le code car ils passent par un MemoryStream et non une écriture directe sur le disque... Un choix inadapté aux longues captures

    http://www.mycsharp.de/wbb2/attachme...30dc7138352863

Discussions similaires

  1. [PPT-2000] différence d'exécution mode pas à pas et mode normal
    Par Fred C dans le forum VBA PowerPoint
    Réponses: 3
    Dernier message: 13/05/2009, 09h14
  2. [VS2005] Plantage Release / Debug
    Par Nico28 dans le forum Visual Studio
    Réponses: 8
    Dernier message: 10/07/2008, 10h50
  3. [Delphi 2007] [Deboggeur] Plantage systématique
    Par darkendorf dans le forum EDI
    Réponses: 5
    Dernier message: 28/03/2008, 16h14
  4. [sur le chat] Annonce : Cours blender Mercredi 25 avril 2007
    Par Joe-La-Boule dans le forum La taverne du Club : Humour et divers
    Réponses: 13
    Dernier message: 02/05/2007, 13h57
  5. Réponses: 3
    Dernier message: 17/01/2007, 13h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo