1. A method for debugging a software application performed by a computing device, the method comprising: compiling a source code of the software application provided in a first language into an intermediate code provided in a second language different from the first language, wherein compiling the source code into the intermediate code comprises: inserting, within the intermediate code, complementary instructions that indicate (1) instructions for controlling an intermediate debugging program configured to debug the intermediate code and (2) instructions for translating debugging information between the intermediate debugging program and a source debugging program configured to debug the source code; and formatting the intermediate code such that a line of the source code points to at least one line of the intermediate code; compiling the intermediate code into an executable form; and debugging the source code, wherein debugging the source code comprises translating at least one piece of debugging information between the intermediate debugging program and the source debugging program according to the complementary instructions.