Boost: recursive_directory_iterator Konstruktor lößt Sigtrap aus



  • Hallo,
    ich arbeite mit der Boost Filesystem Library und will einen Verzeichnisbaum
    löschen. Für diesen Zweck gibt es den recursive_directory_iterator.
    Leider ist dieser nicht besonderst gut dokumentiert...

    Eine gute Einführung findet sich aber hier:
    Howto: Directory recursion in Boost

    Mein Code sieht so aus

    #include <boost/filesystem.hpp>
    
    namespace boost::filesystem = fs;
    
    void recursiveDeleteDir( fs::path dir )
       fs::recursive_directory_iterator endIter;
       // An dieser Stelle gib es in den Tiefen der Boost Library einen Fehler
       // der sich beim Dubuggen als "Signal Received: SIGTRAP" zeigt.
       fs::recursive_directory_iterator dirIter( dir );
    
       for(;dirIter != endIter ; ++dirIter)
          {
           // do something
          }
    }
    

    Es ist hierbei egal, ob ich dem Konstruktor anstelle eines fs::path Objekts einen string übergebe
    der auf den Ordner zeigt. Ebenfalls hat es keinen Einfluss, ob der Ordner auf den gezeigt wird
    leer ist, oder ob er Dateien / Unterordner enthält. Es führt immer zum selben Fehler.

    Debugger unterbricht das Programm und meldet:
    Signal Received: SIGTRAP

    Ich habe es auch mit

    fs::basic_recursive_directory_iterator< fs::path > dirIter (dir)
    

    versucht... Ergebnis: genau gleich

    Wo steckt der Fehler ?
    Ich komme einfach nicht drauf...

    --------------------------------------------------------
    Zusatzinfo: (hängt wohl damit zusammen)
    der Aufruf von

    // aktuelles Arbeitsverzeichnis
    fs::current_path();
    // Ausführungsverzeichnis
    fs::initial_path();
    

    führt zum selben Fehler...

    Kann mir jemand erklären was Signal Received: SIGTRAP
    bedeutet, bzw. wodurch dieser Fehler ausgelößt wird ?

    Danke schonmal für jegliche Hinweise / Tips!



  • Text gelöscht von volkard. War zu wenig konstruktiv.



  • Gibts das Verzeichnis?


Anmelden zum Antworten