Debugging module for real-time debugging of an application running on one or several embedded processors (21, 22) of at least one embedded system, the debugging module comprising: - a logic component configured for automatically collecting in real time raw data from the embedded system, wherein said raw data are embedded processor working information and/or debugging information usable for debugging the embedded system, the logic component being further configured for providing a debug microprocessor with said raw data; - said debug microprocessor configured for storing in real time said raw data, sending a debugging message to a remote computer upon reception of a request for an update of the embedded system status, and providing access to the stored raw data upon reception of a request for debugging the embedded system sent by the remote computer; characterized in that the debugging module comprises at least two modes of operation: a hardware debug mode, wherein if the remote computer determines, or respectively suspects, from raw data comprised in the debugging message that a hardware device of the embedded system is, or respectively might be, a source of a failure, then the debugging module is configured for enabling the remote computer placing a device equipped with the failing embedded system into a safe state and placing said hardware device into halted mode in order to start debugging; and a software debug mode, wherein if the remote computer determines, or respectively suspects, that a software of the embedded system is, or respectively might be, the source of a failure, then the debugging module is configured for performing at least one of the following actions for debugging purpose: - trace raw data from embedded buses of the embedded system; and/or - check memory maps and registers of the embedded system; and/or - check internal processor data. - a logic component configured for automatically collecting in real time raw data from the embedded system, wherein said raw data are embedded processor working information and/or debugging information usable for debugging the embedded system, the logic component being further configured for providing a debug microprocessor with said raw data; - said debug microprocessor configured for storing in real time said raw data, sending a debugging message to a remote computer upon reception of a request for an update of the embedded system status, and providing access to the stored raw data upon reception of a request for debugging the embedded system sent by the remote computer; a hardware debug mode, wherein if the remote computer determines, or respectively suspects, from raw data comprised in the debugging message that a hardware device of the embedded system is, or respectively might be, a source of a failure, then the debugging module is configured for enabling the remote computer placing a device equipped with the failing embedded system into a safe state and placing said hardware device into halted mode in order to start debugging; and a software debug mode, wherein if the remote computer determines, or respectively suspects, that a software of the embedded system is, or respectively might be, the source of a failure, then the debugging module is configured for performing at least one of the following actions for debugging purpose: - trace raw data from embedded buses of the embedded system; and/or - check memory maps and registers of the embedded system; and/or - check internal processor data. - trace raw data from embedded buses of the embedded system; and/or - check memory maps and registers of the embedded system; and/or - check internal processor data.