Skip to content

Limitations (Graph Density)

Nia Catlin edited this page Sep 24, 2016 · 2 revisions

##Graph density

Some programs are very very big, which makes presenting them all at once difficult.

rgat works best when its targets are split over multiple:

  • Threads - Each gets their own graph
  • Processes - Each gets their own list of graphs
  • Shared Libraries - Big blocks of code are reduced to a single external marker.

It has problems with:

  • Statically linked targets doing all of their work in a single thread

    • If it's possible to find and exclude the library code from instrumentation (Issue 12), that would be great.
    • Being able to select and hide certain portions of the graph could also work.
  • The C++ STL

    Changing two lines from:

      char runpath[] = "C:\\path\\executable.exe";
    
      CreateProcessA(NULL, (char *)runpath, NULL, NULL, false, 0, NULL, NULL, &si, &pi);
    

    ... to:

      std::string runpath = "C:\\path\\executable.exe";
    
      CreateProcessA(NULL, (char *)runpath.c_str(), NULL, NULL, false, 0, NULL, NULL, &si, &pi);`
    

    Transforms this graph:

    char graph

    ... into this:

    string graph

    So finding and reducing that code(Issue 14) is a priority.

Clone this wiki locally