Disassembling a computer program can reveal a great deal about its behavior, but there are many ways to limit the usefulness of the raw disassembly. Malware authors actively try to make their executable files appear harmless when being analyzed, then behave much differently when actually executing. Even well-engineered, non-malicious programs can malfunction at runtime due to unforeseen circumstances. Analysts and engineers depend on tools that allow them to observe the code while it is running. Often times this is the only way to understand and fix the problem.
Approach
IDA Pro can debug applications on all major desktop platforms (Windows, Linux, Mac), mobile platforms (iPhone, Android), and emulators (QEMU, Bochs). Even less known embedded systems based on MIPS or other processors, our debuggers can handle it. IDA Pro comes with ten different debuggers out of the box. Naturally, they are all configurable, programmable, and extensible.
Google Project Zero used IDA's XNU Kernel Debugger to track down vulnerabilities in iOS:
IDA's GDB debugger can interface with an array of third-party debug probes and emulators, making it particularly useful for debugging embedded firmware: