It's both. There are many pieces including an X Windows Viewer, support for 
threaded programs (which is very difficult). The code insertion engine is 
complex because it needs to recognize code patterns in both unoptimized as 
well as in optimized-stripped code. You need to keep track of every chunk 
of memory from stack to data to heap. Memory is colored as green (allocated 
initialized), red (unallocated), yellow (allocated, uninitialized), and 
blue (freed). So you've got to catch all dynamic memory allocations 
(malloc, calloc, new), and frees (free, delete). You've also got to track 
all file descriptors. You've got to track all loads and stores. Also, 
remember there are dynamic methods of loading and unloading libraries 
(dlopen, dlclose). When a library is loaded, you must color its segments 
appropriately, and deallocate the colors when the library is unloaded.
Benjamin Scott wrote:

>   In other words, it isn't so much a specific architectural challenge, as jus
> t
> a lot of details that must be attended to?
> 
>   (Thanks for taking the time for this "interview", BTW.  Like Paul, I find
> this stuff interesting, even if I probably would never use the stuff myself.)
-- 
--
Gerald Feldman <[EMAIL PROTECTED]>
Boston Computer Solutions and Consulting
ICQ#156300




**********************************************************
To unsubscribe from this list, send mail to
[EMAIL PROTECTED] with the following text in the
*body* (*not* the subject line) of the letter:
unsubscribe gnhlug
**********************************************************

Reply via email to