anfänger brauche hilfe



  • So bin neu hier und fange an c++ zu lernen und habe schon ein problem 😞
    habe das hello world geschrieben< und wenn ich es debugge kommt so ne meldung dann:
    'bbb.exe': Loaded 'C:\Dokumente und Einstellungen\Dimitrij\Eigene Dateien\Visual Studio 2005\Projects\bbb\release\bbb.exe', Binary was not built with debug information.
    'bbb.exe': Loaded 'C:\WINDOWS\system32\ntdll.dll', No symbols loaded.
    'bbb.exe': Loaded 'C:\WINDOWS\system32\kernel32.dll', No symbols loaded.
    The program '[3512] bbb.exe: Native' has exited with code 0 (0x0).

    und dann geht nix mehr und wenn ich ohne debuging starte geht alles was kann das sein???? 😞 🙂



  • RuSsFiGhTeR schrieb:

    habe das hello world geschrieben< und wenn ich es debugge kommt so ne meldung dann:
    'bbb.exe': Loaded 'C:\Dokumente und Einstellungen\Dimitrij\Eigene Dateien\Visual Studio 2005\Projects\bbb*release*\bbb.exe', Binary was not built with debug information.

    und dann geht nix mehr und wenn ich ohne debuging starte geht alles was kann das sein???? 😞 🙂

    (Hervorhebung von mir)

    Hallo RuSsFiGhTeR!
    Wie man an dem Pfad Deiner Datei erkennen kann, hast Du eine "Release" und keine "Debug" Version gebaut.
    Release Versionen sind schlanker, da sie eben keine Debug Informationen enthalten, wie da schon steht.

    In Visual Studio schaltetes Du zwischen "Release" und "Debug" in einer Dropbox um, die normalerweise rechts neben dem grünen "Start Debugging" Pfeil ist. (Standardeinträge: Debug, Release, Configuration Manager...)

    Gruß,
    dong



  • Erstmal ich habe visual c++ und wenn ich da auf Release umschalte kommt das gleiche raus



  • RuSsFiGhTeR schrieb:

    Erstmal ich habe visual c++ und wenn ich da auf Release umschalte kommt das gleiche raus

    Da soll eben nicht Release, sondern Debug stehen.

    Wenn Du Debug als build Option wähltest, und trotzdem eine Datei im Pfad C:\Dokumente und Einstellungen\Dimitrij\Eigene Dateien\Visual Studio 2005\Projects\bbb*release* ausgeführt wird (siehe output), dann liegt möglicherweise ein Problem der Build Konfiguration vor, aber das glaube ich nicht.

    Also:
    Vergewissere Dich erstmal, dass die Build Option Debug ist.



  • Ja die ist auf debug und es geht trotzdem nicht



  • dann läde der warscheinlich die falschen dlls!

    die momentan geladenen dlls sind warscheinlich für dir release version.

    Loaded 'C:\WINDOWS\system32\ntdll.dll', No symbols loaded

    da du aber die debugversion starten willst braucht er die symbols aus der dll zum debugen da dein prog dann funktionen in der dll ansprechen will die in dieser dll version nicht vorhaden sind.

    ich vermute mal das du irgendwelche libs in dein projectgebunden hast die nur für die release version deines Progs sind die debuglib ist immer die mit dem d im dateinamen.
    beispiel ....d.lib

    auserdem stimmt dann dein ausgabepfad nicht wie dong schon sagt. wenn du die release version compilerst dann wird die exe im release ordner erstellt wenn du die debug version compilerst dann wird dir die version im debug ordner erstellt.

    mfg
    LowFly



  • LowFly schrieb:

    dann läde der warscheinlich die falschen dlls!

    die momentan geladenen dlls sind warscheinlich für dir release version.

    Loaded 'C:\WINDOWS\system32\ntdll.dll', No symbols loaded

    da du aber die debugversion starten willst braucht er die symbols aus der dll zum debugen da dein prog dann funktionen in der dll ansprechen will die in dieser dll version nicht vorhaden sind.

    Das ist glaube ich nicht das Problem, das Russfighter meint/hat.

    Um das nachvollziehen zu können, habe ich mal selbst ein kleines Hello World Programm geschrieben und dabei festgestellt:

    1. 'C:\WINDOWS\system32\ntdll.dll', No symbols loaded ist nicht schlimm / normal: Mein Output ist:

    'Hello World.exe': Loaded 'C:\WINDOWS\system32\ntdll.dll', No symbols loaded.
    'Hello World.exe': Loaded 'C:\WINDOWS\system32\kernel32.dll', No symbols loaded.
    'Hello World.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_f75eb16c\msvcr80d.dll', Symbols loaded.
    'Hello World.exe': Loaded 'C:\WINDOWS\system32\msvcrt.dll', No symbols loaded.
    'Hello World.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_f75eb16c\msvcp80d.dll', Symbols loaded.
    The program '[3856] Hello World.exe: Native' has exited with code 0 (0x0).

    1. Aber was ganz anderes: Wird eine Konsolenanwendung ohne Debuggen vom Visual Studio aus gestartet, so erscheint ein Konsolenfenster, das, wenn keine weitere Eingabe (wie typischerweise bei Hello-World-Programmen) verlangt wird, mit der Zeile endet:

    "Drücken Sie eine beliebige Taste...."

    Diese Zeile erscheint im Debug Modus nicht. Wenn keine Breakpoints gesetzt wurden, passiert also 'nichts'. Und das ist wohl das, was Russfighter beobachtete....

    Aber was gibt es bei einem "Hello World" Programm schon zu debuggen? 😉
    Wenn es nur darum geht, die Debug Funktion näher zu betrachten, dann bau noch ein bisschen was ein, z.B.:

    #include "stdafx.h"
    #include <iostream>
    using namespace std;
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	int a, b = 0;
    	a = b + 1; //Setze hier mit F9 einen Breakpoint!
    	cout << "Hello World!" << endl;
    	return 0;
    }
    

    und setze in die gekennzeichnete Zeile einen Breakpoint, indem Du den Cursor in diese Zeile setzt und dann F9 drückst.

    Wenn Du das Programm jetzt im Debug Modus startest, bleibt es beim Breakpoint stehen.
    Unten links bei "Locals" kannst Du dann die Werte der Variablen beobachten.
    Mit F10 bzw. F11 schreitest Du dann schrittweise duch das Programm.

    Gruß,
    dong



  • Dong... wenn TCHAR dann auch TEXT bzw. _T Macro 😉

    #include <iostream> 
    #include <tchar.h>
    
    int _tmain(int argc, _TCHAR* argv[]) 
    { 
        int a, b = 0; 
        a = b + 1; //Setze hier mit F9 einen Breakpoint! 
        std::cout << _T("Hello World!") << std::endl; 
    
        return 0; 
    }
    


  • mein c++ code ist so
    // Meine Probe
    #include <iostream>
    using namespace std;
    void main ()
    {
    cout <<"Hello World" << endl;
    }
    kann mir jemand sagen wie ich diese fehler mit dll wegmachn kann?



  • RuSsFiGhTeR schrieb:

    kann mir jemand sagen wie ich diese fehler mit dll wegmachn kann?

    Das sind keine Fehler, das sind normale Hinweise.

    Lies mal was ich oben schrieb:
    Wenn Du keinen Breakpoint setzt, ist es normal, dass beim Starten einer Konsolenanwendung (das ist ein Hello World Programm...) im Debug Modus "nichts" passiert.



  • was ist ein Breakpoint



  • RuSsFiGhTeR schrieb:

    was ist ein Breakpoint

    Eine Stelle, an der das Programm beim Debuggen stehen bleibt, wird wie gesagt im Quelltext mit F9 gesetzt.
    Probier's einfach aus...;)

    Und siehe auch:
    http://de.wikipedia.org/wiki/Haltepunkt_(Programmierung)



  • Hallo
    Kann mir jemand einen link für den besten C++ Compiller schicken ich weis nicht welcher der beste ist?
    Danke 😕



  • Noch ne frage gibts wo ne tabelle mit einer begrifferklährung für C++???

    Gruss joel 😕 😕 😕 😕



  • WTF... einer der besten Compiler ist imo wirklich der VC++ von Mircosoft ...
    Was stellst du dir unter "Begriffserklärung" vor? Meinst du sowas wie die MSDN Library?



  • Hast du zufälligerweise den links zum downloaden finde das nirgends.
    Also mit Begriftabelle meine ich eine Wörtererklährung von C++ z.B. was ist ein Breakpoint???etc.
    danke
    Gruss Joel



  • Der wiederrum ja mehr was mit dem Thema Debugging als mit dem Programmieren zu tuen hat 😉

    Naja... einestages wird jeder Mensch bestimmt eine Suchmaschiene auf seinen IQ Angepasst haben... aber was solls: http://msdn.microsoft.com/vstudio/express/visualc/download/



  • Was ist ein Radhub(der in einer Mühle oder so) 😕 ⚠ ⚠


Anmelden zum Antworten