!C99Shell v. 1.0 pre-release build #16!

Software: Apache/2.0.54 (Fedora). PHP/5.0.4 

uname -a: Linux mina-info.me 2.6.17-1.2142_FC4smp #1 SMP Tue Jul 11 22:57:02 EDT 2006 i686 

uid=48(apache) gid=48(apache) groups=48(apache)
context=system_u:system_r:httpd_sys_script_t
 

Safe-mode: OFF (not secure)

/usr/share/doc/valgrind-callgrind-0.9.11/   drwxr-xr-x
Free 5.34 GB of 27.03 GB (19.75%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     ct_techdocs.html (2.17 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
How Calltree works

How Calltree works

1. Differences to GProf

1.1 Cost at call arcs

1.2 Distinguish cost of same function in different context

2. Instrumentation

2.1 Callback to setup handler at beginning of each basic block

Each instrumented basic block first calls the helper function setup_bbcc(). This function has two purposes:
  1. Tracing function calls and returns
  2. Set up the pointer to the BBCC struct which should get the events happening in the execution of the basic block

There can be multiple BBCCs of the same BB, depending on the options choosen for the calltree run. The following properties of the execution context of a BB can lead to different BBCCs that have to be used:

  • The current thread ID
  • The function context currently executed. This can involve
    • the last non-skipped function currently running
    • the recursion level of the currently running function
    • a number of functions in the call chain
For this, item (2) above depends on (1).

For call tracing, we use the struct JCC. These structs or stored in a hash table by using a BBCC pair: The BBCC address of the last BB where the call happened and the BBCC of the BB the call is targeted to. Because of this, the actual sequence of actions is:

  • Update JmpKind:
    • for a call into a skipped function, ignore it
    • for a jump into another elf object, emulate a call
  • Update current context if there's a call
  • Calculate BBCC for new BB using the new context and a recursion counter
  • Trace a happening call

2.2 Callbacks to logging handlers at memory accesses

This is almost identical to the actions of the Cachegrind skin. The only difference is that the logging helpers only get offsets to CC structs in a BBCC struct, and not an absolute pointer. This is needed to allow for multiple BBCCs for the same BB.

3. Tracking the active state of functions

4. Shared Libraries and PLT sections

5. Signal handlers

6. Multithreading


:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #16 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.003 ]--