none
Zugriffsverletzung in einer Funktion RRS feed

  • Frage

  • Ich habe mit Delta3D ein Programm erstellt (um genau zu sein abgeschrieben) und mit cmake gebuilded. Doch wenn ich es ausführen will, kommt folgende Fehlermeldung im Debug-Modus:

    Unbehandelte Ausnahme bei 0x6e2b1ed7 (msvcr100.dll) in HelloWorldApp.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0x6e36f000.

    Der Debugger befindet sich in memcpy.asm in folgender Zeile:

    rep     movsd           ;N - move all of our dwords

    In der Aufrufliste können 2 Funktion von ntdll.dll nicht aufgerufen werden und "Symbole für kernel32.dll werden nicht geladen"

    Als Fehler im Ausgabefenster erhalte ich:

    HelloWorldApp.exe": "C:\Users\Dominik\Desktop\Delta3D\HelloWorldApp\RelWithDebInfo\HelloWorldApp.exe" geladen, Symbole wurden geladen.
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\ntdll.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\kernel32.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\KernelBase.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Delta3D\REL-2.7.2\build_VS2008\bin\dtABC.dll" geladen, Die Binärdaten wurden nicht mit Debuginformationen erstellt.
    "HelloWorldApp.exe": "C:\Delta3D\REL-2.7.2\build_VS2008\bin\dtUtil.dll" geladen, Die Binärdaten wurden nicht mit Debuginformationen erstellt.
    "HelloWorldApp.exe": "C:\Delta3D\REL-2.7.2\ext\bin\osg74-osg.dll" geladen, Die Binärdaten wurden nicht mit Debuginformationen erstellt.
    "HelloWorldApp.exe": "C:\Delta3D\REL-2.7.2\ext\bin\ot11-OpenThreads.dll" geladen, Die Binärdaten wurden nicht mit Debuginformationen erstellt.
    "HelloWorldApp.exe": "C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6161_none_50934f2ebcb7eb57\msvcr90.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6161_none_50934f2ebcb7eb57\msvcp90.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\glu32.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\msvcrt.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\opengl32.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\advapi32.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\sechost.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\rpcrt4.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\sspicli.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\cryptbase.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\gdi32.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\user32.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\lpk.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\usp10.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\ddraw.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\dciman32.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\setupapi.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\cfgmgr32.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\oleaut32.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\ole32.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\devobj.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\dwmapi.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Delta3D\REL-2.7.2\ext\bin\osg74-osgDB.dll" geladen, Die Binärdaten wurden nicht mit Debuginformationen erstellt.
    "HelloWorldApp.exe": "C:\Delta3D\REL-2.7.2\ext\bin\osg74-osgUtil.dll" geladen, Die Binärdaten wurden nicht mit Debuginformationen erstellt.
    "HelloWorldApp.exe": "C:\Delta3D\REL-2.7.2\ext\bin\xerces-c_3_1.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Delta3D\REL-2.7.2\build_VS2008\bin\dtCore.dll" geladen, Die Binärdaten wurden nicht mit Debuginformationen erstellt.
    "HelloWorldApp.exe": "C:\Delta3D\REL-2.7.2\ext\bin\osg74-osgText.dll" geladen, Die Binärdaten wurden nicht mit Debuginformationen erstellt.
    "HelloWorldApp.exe": "C:\Delta3D\REL-2.7.2\ext\bin\osg74-osgGA.dll" geladen, Die Binärdaten wurden nicht mit Debuginformationen erstellt.
    "HelloWorldApp.exe": "C:\Delta3D\REL-2.7.2\ext\bin\osg74-osgViewer.dll" geladen, Die Binärdaten wurden nicht mit Debuginformationen erstellt.
    "HelloWorldApp.exe": "C:\Delta3D\REL-2.7.2\ext\bin\osg74-osgParticle.dll" geladen, Die Binärdaten wurden nicht mit Debuginformationen erstellt.
    "HelloWorldApp.exe": "C:\Delta3D\REL-2.7.2\ext\bin\ode_single.dll" geladen, Die Binärdaten wurden nicht mit Debuginformationen erstellt.
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\msvcp100.dll" geladen, Symbole wurden geladen.
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\msvcr100.dll" geladen, Symbole wurden geladen.
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\apphelp.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Windows\AppPatch\AcLayers.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\shell32.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\shlwapi.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\userenv.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\profapi.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\winspool.drv" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\mpr.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\imm32.dll" geladen, Cannot find or open the PDB file
    "HelloWorldApp.exe": "C:\Windows\SysWOW64\msctf.dll" geladen, Cannot find or open the PDB file
    Eine Ausnahme (erste Chance) bei 0x6e2b1ed7 (msvcr100.dll) in HelloWorldApp.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0x6e36f000.
    Unbehandelte Ausnahme bei 0x6e2b1ed7 (msvcr100.dll) in HelloWorldApp.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0x6e36f000.
    Das Programm "[6200] HelloWorldApp.exe: Systemeigen" wurde mit Code -1073741819 (0xc0000005) beendet.

    Ich kompiliere das Programm im Status RelWithDebInfo

    Ich hoffe jmd kann mir helfen.

    Danke im Voraus

    • Typ geändert Robert Breitenhofer Mittwoch, 30. November 2011 09:33 Keine Rückmeldung des Fragenstellender
    • Typ geändert Robert Breitenhofer Donnerstag, 8. Dezember 2011 07:56 Rückmeldung des Fragenstellender
    Donnerstag, 17. November 2011 19:39

Antworten

  • Debugge und schau Dir den Callstack an. Punkt.

    Dann siehst Du auch wo es knallt.


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Sonntag, 27. November 2011 19:27

Alle Antworten

  • Sehr geehrter Fragesteller,

    Stellen Sie sicher das die erfolderlichen .DLL's geladen werden. Ich würde Ihnen raten die .DLL's mit GetModuleHandle oder LoadLibrary laden zu lassen. Mehr kann ich Ihnen dazu nicht sagen.

    Mit Freundlichen Grüßen

    Dominik


    Sonntag, 27. November 2011 13:19
  • Debugge und schau Dir den Callstack an. Punkt.

    Dann siehst Du auch wo es knallt.


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Sonntag, 27. November 2011 19:27
  • Sorry ich war einige Zeit weg. Wie schaue ich im Debug-Modus den Callstack an?
    Mittwoch, 7. Dezember 2011 18:55
  • Wie schaue ich im Debug-Modus den Callstack an?


    Hallo birdfreeyahoo,

    Schau Dir mal den folgenden Link an. Vielleicht kann er Dir weiter helfen.

    How to: Use the Call Stack Window

    Grüße,

    Robert

    Donnerstag, 8. Dezember 2011 08:02
  • Wenn es das ist was ich denke müsste eigentlich   msvcr100.dll!memcpy()

    drinstehen. Die memcpy.asm wurde bei mir auch geöffnet

    Donnerstag, 15. Dezember 2011 21:36
  • Viel wichtiger wäre:
    Wer hat memcpy aufgerufen...


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Freitag, 16. Dezember 2011 06:38
  • Ich muss das Projekt neu schreiben, da sich viele Sachen geändert haben, aber so wie ich das rauslesen kann:

    #include<.....>

    #pragma intrinsic (memcpy)

    int main(int arc, char **argv)

    Freitag, 16. Dezember 2011 17:20
  • Hallo birdfreeyahoo!

    Ich muss das Projekt neu schreiben, da sich viele Sachen geändert haben, aber so wie ich das rauslesen kann:

    #include<.....>

    #pragma intrinsic (memcpy)

    int main(int arc, char **argv)

    Das sagt doch nichts...


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Montag, 19. Dezember 2011 09:17
  • Also das Delta3D vergess ich bis evtl. zu meinem Job, da CMake nur mit VS und nicht mit VC Express kompiliert.
    Ich habe oben die Zeile

    #pragma intrinsic (memcpy) gemeint.

     

    Mittwoch, 21. Dezember 2011 21:51
  • Und das hat immer noch nichts mit dem Callstack zu tun!
    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Sonntag, 1. Januar 2012 09:49