X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcin-manual-latex.git;a=blobdiff_plain;f=parts%2FDeveloper.tex;h=6fc9f00149c32916575a3036a19a2fb20b1a146b;hp=5532ce8e9d8a3406e35f1157928e0c518c3806ec;hb=88392a5f55bd47648523f6365115702772a7b8f9;hpb=16415b98a70518c35090508f9809c9a97ec1aef3 diff --git a/parts/Developer.tex b/parts/Developer.tex index 5532ce8..6fc9f00 100644 --- a/parts/Developer.tex +++ b/parts/Developer.tex @@ -492,7 +492,10 @@ Now your \CGG{} obj has all of the debug stuff. Next run valgrind as root for th This runs \CGG{} under the control of valgrind, and produces a log file in /tmp which will list information about any leaks, usually clearly identifiable. Be sure to Quit out of \CGG{} normally instead of Ctrl-C or a SEGV otherwise the program does not have a chance to cleanup and there will be some false alarms. But it runs very slowly, and is basically single threaded, which means that race conditions may be impossible to catch$\dots$ like one thread deletes memory that another thread is currently using. But overall it is a big help and if you test any new features, please email the log output. A lot of effort when writing the code was put into trying to be sure that all of the object constructors have matching destructors so that the leaks can be identified. There are already several libraries that create predictable memory leaks and valgrind does a good job for most of these. -It is impossible to test everything with valgrind because some things are just too big and slow for a practical test. Occasionally you can find a leak or an illegal memory access. There are several false alarms that are difficult to avoid \textit{Conditional jump} messages, and \textit{unhandled DW\_OP\_}, but anything with the word \textit{illegal} in the message is important. Memory leaks that originate in \CGG{} are good to find and fix, but are usually not deadly. +It is impossible to test everything with valgrind because some things are just too big and slow for a practical test. Occasionally you can find a leak or an illegal memory access. There are several false alarms that are difficult to avoid \textit{Conditional jump} messages, and \textit{unhandled DW\_OP\_}, but anything with the word \textit{illegal} in the message is important. Memory leaks that originate in \CGG{} are good to find and fix, but are usually not +deadly. The listing of the memory leaks can be quite voluminous so locating the \textit{LEAK SUMMARY} section +towards the end of the report is most useful. + \section{CFLAGS has -Wall} \label{sec:cflags_has_-wall}