#335 closed defect (fixed)
psTrace broken
| Reported by: | Paul Price | Owned by: | |
|---|---|---|---|
| Priority: | high | Milestone: | |
| Component: | sys | Version: | unspecified |
| Severity: | major | Keywords: | |
| Cc: |
Description
When I build my application with no calls to psTraceSetLevel(), I get no trace
output --- fine.
I've put trace statements (with component "pslib.stats.robust") in the psStats
code, so to activate these, I call:
psTraceSetLevel("pslib.stats.robust", 10);
Now, when I run the application, I get much more than I bargained for. Some of
the trace output is from psGaussian(). Its component is
".psLib.dataManip.psFunctions.psGaussian", so it shouldn't be printing trace
messages. I try to turn it off by explicitly setting the root level to zero:
psTraceSetLevel(".", 0);
psTraceSetLevel("pslib.stats.robust", 10);
This does not stop the psGaussian trace messages from being printed. Reversing
the order of the lines does not stop psGaussian trace messages.
Asking for the trace levels to be printed produces simply:
. 0
The component "pslib.stats.robust" is not even mentioned. Changing the
component name to ".pslib.stats.robust" does not change the observed behaviour.
This behaviour makes it very difficult to debug specific components (the whole
intention of psTrace). It means each component must be explicitly turned off,
without prior knowledge of what the various component names are.
Change History (4)
comment:1 by , 21 years ago
| Status: | new → assigned |
|---|
comment:2 by , 21 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
comment:3 by , 21 years ago
| Keywords: | VERIFIED added |
|---|
comment:4 by , 21 years ago
| Keywords: | VERIFIED removed |
|---|

to fixed the problem for the next release. The following code (from a test) now
works as predicted: