StraceNT (pronounced S-Trace-NT) is a System Call Tracer for Windows. It provides similar functionality as strace provides on Linux. It can trace all the calls made by a process to the imported functions from other DLLs.
StraceNT can be very useful in debugging and analyzing the internal working of a program. It records function names, their arguments and their return values.
StraceNT uses IAT patching technique to trace function calls, which is quite reliable and very efficient way for tracing. StraceNT can handle functions with different calling conventions including __fastcall and __stdcall.
StraceNT also supports filtering based on DLL name and function name and gives you a lot of control on which calls to trace and helps you to easily isolate a problem.
Here are some key features of "StraceNT":
· A very fast and efficient system call tracing program
· Supports tracing function calls with different calling conventions
· Excellent filtering support to isolate a problem easily
· Freeware
· Similar in functionality to strace on Linux
· Multithreaded application supported
· Records OutputDebugString output of the target process
· Trace functions calls made to DLLs loaded dynamically using LoadLibrary
· Allows user to specify a different return value from a function
· Comes in both Graphical UI and command line version
What's New in This Release: [ read full changelog ]
· Added tracing of DLLs which are loaded dynamically using LoadLibrary
· Added option for returning a different value from a function
· Made a GUI version of StraceNT also
· Modified inclusion/exclusion to provide much better filtering control
· Support is added for tracing functions exported by Ordinal