1. A system for troubleshooting a software configuration problem in a software application using application tracing, the system comprising: at least one processor; a non-transitory computer-readable medium storing instructions that when executed by the at least one processor are configured to implement: a tracer configured to attach to the software application while a process of the software application is running on an operating system of a first computer, wherein, when attached, the tracer is configured to instrument the software application by injecting at least one interrupt instruction at a function entry point in a memory image of the software application such that the process defined by executable code of the software application is not modified, the tracer configured to trace at least one operating system function used by the software application at the function entry point, to collect information relating to execution of the software application when the inserted at least one interrupt instruction is triggered during runtime of the software application, the tracer configured to create a first application signature based on the collected information, the first application signature providing information about a plurality of operational states of a first traced application programming interface (API) object associated with a failed execution of the software application on the first computer; and an application signature analyzer configured to compare the first application signature with a second application signature, the second application signature providing information about the plurality of operational states of a second traced API object associated with a successful execution of the software application on a second computer, wherein, when comparing the first application signature with the second application signature, the application signature analyzer is configured to; match the first traced API object with the second traced API object; and analyze different combinations of the plurality of operational states of the first traced API object and the second traced API object to detect differences in the plurality of operational states of the first traced API object and the second traced API object, each combination being associated with a priority that denotes an importance in detecting a root-cause of a malfunction of the software application, the application signature analyzer configured to provide a graphical representation of the results of the analyzed combinations.