8. A non-transitory computer-readable medium having stored therein instructions executable by a computing device to cause the computing device to perform functions comprising: compiling a source code of a 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.
8. A non-transitory computer-readable medium having stored therein instructions executable by a computing device to cause the computing device to perform functions comprising: compiling a source code of a 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. 12. The non-transitory computer-readable medium of claim 8 , wherein debugging the source code further comprises: receiving from the source debugging program a request for obtaining at least one piece of dynamic data, wherein the request is in the first language, and wherein the at least one piece of dynamic data depends on the execution of the software application; translating the received request into the second language according to the complementary instructions; and transmitting the translated request to the intermediate debugging program.