| 1. |
I've added profiling/tracing/object monitoring
code but when I run my project I don't get any diagnostics reported. |
| 2. |
I've added profiling/tracing/object monitoring
code and added the conditional compilation directive but I get
errors trying to make the calls to the diagnostic methods. |
| 3. |
I've got profiling/object monitoring code
in place, I've defined the conditional compilation argument
but I don't get any data when the diagnostic form is shown. |
| 4. |
Why can't the profiler/object monitor displays
refresh automatically? |
| 5. |
Why do I have diagnostic data left around
from the previous run when I start my project? |
| 6. |
What is the difference between a registered
and unregistered version? |
| 7. |
Can I use the diagnostic tools in a compiled
program? |
| 8. |
Can I remove the Lockdesign ImmClear AddIn
if I'm using the Lockdesign Diagnostic Tools? |
| 9. |
When I started a project using the Lockdesign
Diagnostic Tools I got a message box informing me that the reference
to the Diagnostic Tools had been fixed. What exactly does this
mean? |
| 10. |
Why can't the addin automatically
add the appropriate conditional compilation parameter for me? |
| 11. |
Could the tools form show me what diagnostics
have been added on a method by method basis? |
| 12. |
Could I add my own diagnostic code inside
the conditional compilation statements for the diagnostic code? |
| 13. |
My tracer/profiler/object monitor/diagnostics/diagnostic
tools window is permanently minimized or maximized. What can
I do? |
| 1. |
|
Ensure that you have the appropriate conditional compilation
argument set in the Project Properties box. These are :
- LOCKDES_PROFILE=1 to enable profiling
- LOCKDES_TRACE=1 to enable tracing
- LOCKDES_OBJMON=1 to enable object monitoring
|
| 2. |
|
Ensure that you have referenced
the tools either manually via the Project - References dialog
(check against Lockdesign Tools) or via the tools diagnostics
form using the toolbar button to add the reference. |
| 3. |
|
Remember that the profiling and
the object monitor diagnostics are only refreshed when either
the Refresh
button on the toolbar is pressed or when a call is made to one
of the diagnostic tool API methods to force a refresh. These
methods are fully documented in the help file supplied with
Lockdesign Diagnostic Tools. |
| 4. |
|
The profiler cannot refresh automatically
because the time taken to refresh makes the profile timings
meaningless. The object monitor does not refresh because the
level of screen flicker in an environment where large numbers
of object creation/deletions are taking place makes it unreadable. |
| 5. |
|
The data in the diagnostic windows is not cleared down when
the form is closed by design. The diagnostic data must be
cleared either manually using the Reset button or via the
diagnostic tools API method to force a reset. These methods
are fully documented in the help file supplied with Lockdesign
Diagnostic Tools.
|
| 6. |
|
The unregistered version has the same functionality as the
registered version to allow a full evaluation. However it
is crippled in the following manner:
- The caption of diagnostic form windows indicate the tools
are not registered.
- Code included via the diagnostic tools has an additional
comment indicating that the tools are not regsistered.
- Occasionally, there is a message box popped up when VB
starts informing that the tools are not registered.
- Diagnostic form settings, such as font preferences, are
not persisted when the diagnostic form is closed down.
|
| 7. |
|
Certainly. However be aware that
when the compiled program is shut down the diagnostic forms
will also close down. It may be necessary to use the diagnostic
tools API methods to ensure that your diagnostic data is saved
before your program exits.The diagnostics form is particularly
useful in the compiled environment as it allows reporting of
diagnostics in a separate environment to your application. |
| 8. |
|
Yes if you are using VB6. The
code to automatically clear the immediate window when the project
is run has been implemented into the VB6 version of the diagnostic
tools so that it is only necessary to have the one addin. |
| 9. |
|
This should only occur if you
have installed a new version of the addin which was binary incompatible
with the previous version. When a project, which references
the tools, is loaded the addin performs a check to ensure that
the project is referencing the current version. If it is not
then it corrects it. My next project is to write an addin which
will automatically check, and optionally fix, any broken references
when a VB project is loaded. |
| 10. |
|
The object model provided by
Microsoft does not provide run time access to the conditional
compilation arguments. Whilst I have found a method for doing
this (see AddIn FAQ), it has
proven to be less reliable than would be preferred to implement
into the tools. However, if this mechanism is improved then
it will be implemented. In the meantime there is a message box
which pops up to remind you to set them. This message box may
be disabled. |
| 11. |
|
This was considered this but
seeing as the diagnostic code could be removed from the code
manually it would mean that almost constant checking would be
necessary. This may be given further consideration in the future. |
| 12. |
|
You may but it's not recommended
it since if you use the diagnostic form to remove the diagnostic
code then your code will also be removed as the tool removes
all code between the #If and #End If statements. |
| 13. |
|
This is a problem in Versions
1.0 and 1.1 of the Diagnostic Tools. Read the bugs
page for details of the workaround to get your problem window
back to normal. |