X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=README.markdown;h=497351abe99697dc285e2c0607aaa48da2267f0e;hb=905c1283897c27188ef1984f302379befc9de9b5;hp=c38804276664853db5256e8a87eee2ef044451b1;hpb=892cad6f24175221d2e7bdf3c7fe6c34b64ee50a;p=apitrace diff --git a/README.markdown b/README.markdown index c388042..497351a 100644 --- a/README.markdown +++ b/README.markdown @@ -16,12 +16,12 @@ Basic usage =========== -Linux ------ +Linux and Mac OS X +------------------ Run the application you want to trace as - LD_PRELOAD=/path/to/glxtrace.so /path/to/application + /path/to/apitrace trace /path/to/application [args...] and it will generate a trace named `application.trace` in the current directory. You can specify the written trace filename by setting the @@ -29,7 +29,7 @@ directory. You can specify the written trace filename by setting the View the trace with - /path/to/tracedump application.trace | less -R + /path/to/apitrace dump --color application.trace | less -R Replay the trace with @@ -43,6 +43,40 @@ Start the GUI as /path/to/qapitrace application.trace +Windows +------- + +* Copy `opengl32.dll`, `d3d8.dll`, or `d3d9.dll` from build/wrappers directory + to the directory with the application you want to trace. + +* Run the application. + +* View the trace with + + \path\to\apitrace dump application.trace + +* Replay the trace with + + \path\to\glretrace application.trace + + +Advanced command line usage +=========================== + + +Tracing manually +---------------- + +### Linux ### + +Run the application you want to trace as + + LD_PRELOAD=/path/to/apitrace/wrappers/glxtrace.so /path/to/application + +and it will generate a trace named `application.trace` in the current +directory. You can specify the written trace filename by setting the +`TRACE_FILE` environment variable before running. + The `LD_PRELOAD` mechanism should work with most applications. There are some applications, e.g., Unigine Heaven, which global function pointers with the same name as GL entrypoints, living in a shared object that wasn't linked with @@ -52,23 +86,19 @@ segfault when trying to write to them. For these applications it is possible to trace by using `glxtrace.so` as an ordinary `libGL.so` and injecting into `LD_LIBRARY_PATH`: - ln -s glxtrace.so libGL.so - ln -s glxtrace.so libGL.so.1 - ln -s glxtrace.so libGL.so.1.2 - export LD_LIBRARY_PATH=/path/to/directory/where/glxtrace/is:$LD_LIBRARY_PATH + ln -s glxtrace.so wrappers/libGL.so + ln -s glxtrace.so wrappers/libGL.so.1 + ln -s glxtrace.so wrappers/libGL.so.1.2 + export LD_LIBRARY_PATH=/path/to/apitrace/wrappers:$LD_LIBRARY_PATH export TRACE_LIBGL=/path/to/real/libGL.so.1 /path/to/application See the `ld.so` man page for more information about `LD_PRELOAD` and `LD_LIBRARY_PATH` environment flags. +### Mac OS X ### - -Mac OS X --------- - -Usage on Mac OS X is similar to Linux above, except for the tracing procedure, -which is instead: +Run the application you want to trace as DYLD_LIBRARY_PATH=/path/to/apitrace/wrappers /path/to/application @@ -78,27 +108,6 @@ Note that although Mac OS X has an `LD_PRELOAD` equivalent, page for more details about these environment flags. -Windows -------- - -* Copy `opengl32.dll`, `d3d8.dll`, or `d3d9.dll` from build/wrappers directory - to the directory with the application you want to trace. - -* Run the application. - -* View the trace with - - \path\to\tracedump application.trace - -* Replay the trace with - - \path\to\glretrace application.trace - - -Advanced command line usage -=========================== - - Emitting annotations to the trace from GL applications ------------------------------------------------------ @@ -149,7 +158,7 @@ You can compare two state dumps with the jsondiff.py script: Comparing two traces side by side --------------------------------- - ./scripts/tracediff.sh trace1.trace trace2.trace + apitrace diff trace1.trace trace2.trace This works only on Unices, and it will truncate the traces due to performance limitations.