Programm erleidet Buffer Overrun wenn VC++ 2008 prof installiert ist



  • Hallo,

    ich hab ein etwas merkwürdiges Problem. Habe auf meinem Notebook und einem Vista business 64Bit Destop PC Visual Studio 2008 Prof installiert. Wollte mich nun bei Audible anmelden und dort Hörbücher runterladen. Die haben eine in C++ geschriebene Software, die das runterladen und verwalten übernimmt. Darunter ist auch der eigentliche Downloader. Dieser erzeugt beim Auruf nun ein Buffer Overrun und muss abgeschossen werden. Auf einem dritten PC (ebenfalls vista) ohne VS 2008 prof lässt sich das Programm problemlos ausführen.

    Ist die von VS 2008 installierte Runtime eine andere? Woran könnte das liegen und wie behebe ich den Fehler?

    Beste Grüße

    Solick



  • solick schrieb:

    Ist die von VS 2008 installierte Runtime eine andere? Woran könnte das liegen und wie behebe ich den Fehler?

    2 Fragen:
    a) ist auf dem Vergleichsrechner auch Vista64 (das kann viel ausmachen)
    b) VS2008 mit oder ohne SP1?



  • 1. Nein, habe es mittlerweile auf drei Rechnern ausprobiert, 1 64 und 2 32 Bit Vista Fehler ist reproduzierbar

    2. Ja VS2008 SP1



  • Es wird die Runtime genommen bzw. gefordert, die auch im Manifest der Applikation eingetragen ist. Deshalb ist die Frage, ob es eine "andere Runtime" ist, komisch.



  • Bulli schrieb:

    Es wird die Runtime genommen bzw. gefordert, die auch im Manifest der Applikation eingetragen ist. Deshalb ist die Frage, ob es eine "andere Runtime" ist, komisch.

    Zumindest früher war es durchaus ein Thema, gerade wenn die DLL's gleich heißen und in dem Windowsverzeichnis abgelegt sind (Dies mag unter C# inzwischen anders sein, aber unter C++?).



  • Die Versionsnummern der DLLs haben nichts mit C# oder .NET zu tun. Seit WinXP ist es ein natives Win32-Feature, das DLLs versioniert werden können. Genauso wie man seit WinXP auch keine COM-/ActiveX-Objekte mehr registrieren muß.

    Wenn die Anwendung natürlich noch mit VC6 erstellt wurde, kann die DLL durch falsche Dateinamen Fehler verursachen. Mit späteren Versionen von VC sollte das nicht mehr auftreten. In der Manifest wird definitiv eingetragen, welche DLL-Version benötigt wird.



  • Dann wäre die Frage ob es vielleicht noch an irgendwelchen Diensten des VS liegen kann (Wie den Machine Debug Manager u.a.). Ich hatte zwar mit VC2008 noch keine Probleme, aber es gibt immer mal unterschiede die auf einer Entwicklungsmaschine zusätzlich zum tragen kommen.



  • da ich das Programm nicht geschrieben habe, kann ich da leider nichts zu sagen... ich hab den Dienst mittlerweile wieder gekündigt, weil ich es einfach nicht ans laufen gebracht habe...

    Danke für Eure Hinweise...

    LG Solick


Anmelden zum Antworten