[PD] debugging techniques/tricks for a non-developer?
Matteo Sisti Sette
matteosistisette at gmail.com
Sat Nov 3 20:56:30 CET 2007
I use PD quite a lot, and it sometimes happens to me that it crashes.
Sometimes I have been able to isolate and identify the cause of the crash,
in which case either it was a known bug or I reported it, or the crash was
triggered by some errors in my patches that I could fix.
However, there are situations in which I can't even isolate the problem and
that's scary because if you don't know what conditions trigger the
bug/issue, you cannot feel sure that it won't happen on-stage just because
it hasn't happened for a long time lately.....
If PD crashes, I need to know: whether there is or not an error in my patch,
and if there isn't, how to avoid the crash condition.
So my question is....
Is there some way one can, for instance, figure out some information about
"where" the crash happened, if not "why"?
For example, once I realized that some patch of mine made PD crash when I
opened it, but it didn't if I opened it with -noloadbang
So the crash must be provoked by some loadbang, be it because of a PD bug or
of an error in my patch. However my patch was quite "big" and had a lot of
abstractions with a lot of loadbangs so it was impossible to figure out
which one(s) triggered the patch... and I never did. It just stopped
In such a situation, would there be any means to figure out at least what
abstraction contained the "guilty" loadbang? (then it may help or not,
because there may be 100 instances of that abstraction all around, but it
would be a starting point)
I guess that, if I had such a thing as Visual C++ and if I were a skilled
developer and if I were familiar with PD sourcecode, I coud debug and
figure out things... but none of these conditions holds true.
I'm interested in any kind of (feasible) trick that can help one get any
kind of useful information as to what provokes a crash, at least in the case
one is able to reproduce (if not isolate) it.
In WINDOWS if possible.
(I would like to become familiar with Linux, but hey, let's make one step at
By the way, is it very difficult for a newbie to get started with
recompiling PD's source code? (not only with the abovementioned aim but more
in general: in a future I would like to learn a bit about its source code
and even try playing with it) and in this case, running it in some sort of
debug environment? What would I need?
I do have programming skills, just not in C++ (and I do have a very basic
knowledge of C++). I usually work only with high-level and interpreted
languages.... well... PD is one of them!
Thanks in advance
More information about the Pd-list