No tedious setting breakpoints and play/resume ten times to see the loop you want. Tracing makes it easy to see what loops are doing.
...
Code Block | ||
---|---|---|
| ||
11:03:56.724872 0x108f635c0 main . >APPrepeatSentence Line:11 11:03:56.724916 0x108f635c0 main . . Sentence = The quick brown fox jumped over the lazy dog. 11:03:56.724948 0x108f635c0 main . . About to print hello world... 11:03:56.724980 0x108f635c0 main . . i = 0 11:03:56.725012 0x108f635c0 main . . i = 1 11:03:56.725045 0x108f635c0 main . . i = 2 11:03:56.725078 0x108f635c0 main . . i = 3 11:03:56.725134 0x108f635c0 main . . Result= (size=184) 54 68 65 20 71 75 69 63 The quic 6B 20 62 72 6F 77 6E 20 k br own 66 6F 78 20 6A 75 6D 70 fox jump 65 64 20 6F 76 65 72 20 ed o ver 74 68 65 20 6C 61 7A 79 the lazy 20 64 6F 67 2E 0A 54 68 dog ..Th 65 20 71 75 69 63 6B 20 e qu ick 62 72 6F 77 6E 20 66 6F brow n fo 78 20 6A 75 6D 70 65 64 x ju mped 20 6F 76 65 72 20 74 68 ove r th 65 20 6C 61 7A 79 20 64 e la zy d 6F 67 2E 0A 54 68 65 20 og.. The 71 75 69 63 6B 20 62 72 quic k br 6F 77 6E 20 66 6F 78 20 own fox 6A 75 6D 70 65 64 20 6F jump ed o 76 65 72 20 74 68 65 20 ver the 6C 61 7A 79 20 64 6F 67 lazy dog 2E 0A 54 68 65 20 71 75 ..Th e qu 69 63 6B 20 62 72 6F 77 ick brow 6E 20 66 6F 78 20 6A 75 n fo x ju 6D 70 65 64 20 6F 76 65 mped ove 72 20 74 68 65 20 6C 61 r th e la 7A 79 20 64 6F 67 2E 0A zy d og.. 11:03:56.725172 0x108f635c0 main . <APPrepeatSentence |
...
Code Block | ||
---|---|---|
| ||
void APPrepeatSentence(const BASstring& Sentence){
BAS_FUNCTION(APPrepeatSentence);
BAS_VAR(Sentence);
BASstring Result;
BAS_TRC("About to print hello world...");
for (int i=0; i < 4; i++){
BAS_VAR(i);
Result = Result + Sentence + "\n";
}
BAS_HEX("Result", Result.data(), Result.size());
BASout << Result;
} |
With a graphical debugger it is a much more tedious process of having manually step through and set breakpoints and so on which all has quite a high learning curve. With tracing one never has to learn that.