1.28.2012

Debugging the debugging

I took the time to reject some of my condition/debug macros and directly used them in my code. It seems to work fine (which means that I can put almost anything I want into them) but noticed something weird that's related to the debug module itself: strange random freezes when debug is on. At first I though it may be related to too few qmutexes in the debug pool and increased the number. Even with 100 mutexes, I got the same error. But choosing only one (means a lot of asynchronous debug message), I even got segmentation faults. So I has to do with the debug system. That's totally ok because this eliminates another one of the sometimes random freezes I had in the past. However, I didn't use my macros before that, so it's probably a new circumstance showing up a previously uncovered problem. Anyway, completely omitting debug messages showed up no problems, therefore I think that the system works perfectly fine with the current tests. Anyway, there are sometimes situations in which the execution takes considerably longer. I know this behaviour from previous tests and do atleast know that it comes from some sort of loop in which the a tasker does repeatedly pause itself while another threads seems to resume it. Haven't yet seen it happening in a reproducable manner but I'm doing my best to fix it later. First I need to find out what's fucking up my debug system. However, I'm very glad that the rest is working so well. All I need to do is to include a single file and #define options before including. it's very nice to have such a simple setup that gives me the freedom to auto-log everything. So for now let's get back to work.

No comments: