Fehler suche
-
Hallo,
Ich habe in meinem Programm an einer stelle 2 strcat Aufrufe hintereinander :
strcat( strTest, strPath );
strcat( strTest, "/" );Das hat immer ohne probleme funktioniert seit ein paar Wochen. Aber jetzt auf einmal funktioniert es nicht mehr richtig wenn ich die Funktion an einer bestimmten Stelle aufrufe: das zweite strcat wird einfach ignoriert und der Stirng bekommt kein "/" angehängt. Wenn ich die beiden strcats durch so ein sprintf ersetze, geht wieder alles?
sprintf("%s%s/", strTest, strPath);
Der Source Code ist ziemlich gross und ich habe schon sicher gestellt daß nicht irgendwo ein Buffer zu klein ist oder so, wie kann ich denn am besten der Fehlerquelle auf die Spur kommen, weil ich blicke mittlerweile gar nicht mehr durch. Und was kann die Fehlerquelle überhaupt sein.
-
Benutz einen Debugger. Setz nen Breakpoint vor dem Methodenaufruf und schau dir dann Schrittweise die Inhalte der Variablen an. Dann müsstest du eigentlich sehen ob die Funktion wirklich richtig ausgeführt wird und evtl. irgend nen Seiteneffekt mit reinspielt.
-
wenn sprintf geht, schreibs doch mit sprintf in nen buffer und häng diesen dann an strtest an.
wobei das den fehler nicht behebt sondern nur umgeht...
-
strcat( strTest, "//" );