Is real hardware debugging possible?

  • SpinRite v6.1 Release #3
    Guest:
    The 3rd release of SpinRite v6.1 is published and may be obtained by all SpinRite v6.0 owners at the SpinRite v6.1 Pre-Release page. (SpinRite will shortly be officially updated to v6.1 so this page will be renamed.) The primary new feature, and the reason for this release, was the discovery of memory problems in some systems that were affecting SpinRite's operation. So SpinRite now incorporates a built-in test of the system's memory. For the full story, please see this page in the "Pre-Release Announcements & Feedback" forum.
    /Steve.
  • Be sure to checkout “Tips & Tricks”
    Dear Guest Visitor → Once you register and log-in please checkout the “Tips & Tricks” page for some very handy tips!

    /Steve.
  • BootAble – FreeDOS boot testing freeware

    To obtain direct, low-level access to a system's mass storage drives, SpinRite runs under a GRC-customized version of FreeDOS which has been modified to add compatibility with all file systems. In order to run SpinRite it must first be possible to boot FreeDOS.

    GRC's “BootAble” freeware allows anyone to easily create BIOS-bootable media in order to workout and confirm the details of getting a machine to boot FreeDOS through a BIOS. Once the means of doing that has been determined, the media created by SpinRite can be booted and run in the same way.

    The participants here, who have taken the time to share their knowledge and experience, their successes and some frustrations with booting their computers into FreeDOS, have created a valuable knowledgebase which will benefit everyone who follows.

    You may click on the image to the right to obtain your own copy of BootAble. Then use the knowledge and experience documented here to boot your computer(s) into FreeDOS. And please do not hesitate to ask questions – nowhere else can better answers be found.

    (You may permanently close this reminder with the 'X' in the upper right.)

coffeeprogrammer

Well-known member
Jul 19, 2021
144
12
Hi,

So I posted about debugging a whole operating system with QEMU, something I think is possible with WinDbg and QEMU some how using some thing called EXDI, I will put a link below. But that is not what this question is about. I have been wondering if it is possible to do whole system debugging on real hardware. I’ve always wondered about it a bit, but I got more entrusted when Steve said he uses the periscope debugger for SpinRite dev. I looked that up and seemed that part of it was something that plugged in the CPU socket and then the CPU plugged into that. I don’t think that works on today’s CPUs , but I have wondered if today's computers support something like it in their hardware. For example on old intel i5 HP desktop, would that work? I tried to look it up online and I found some kind of a specification called JTAG. I am not sure what it is or if comes on normal desktops (most of the articles were about ARM I think). And similar to QEMU, the type of debugging symbols would be import, unless there is a software in between should hardware and the debugger. QEMU uses the GNU debugging symbols, I don’t remember what the proper name for the GNU/Linux style symbols is, but it is different than the MS program database PDB symbols that Vs/WinDbg use. (That is why I am unsure how one could connect WinDbg to QEMU, different symbol types). Anyway, anyone who knows some simple beginning answers (or even more complex answers) or links to internet resources on this subject is welcomed. Basically I want to do what I did with ReactOS in QEMU on real x86 hardware.



Thank you,

Chad
 
Hi,

So I posted about debugging a whole operating system with QEMU, something I think is possible with WinDbg and QEMU some how using some thing called EXDI, I will put a link below. But that is not what this question is about. I have been wondering if it is possible to do whole system debugging on real hardware. I’ve always wondered about it a bit, but I got more entrusted when Steve said he uses the periscope debugger for SpinRite dev. I looked that up and seemed that part of it was something that plugged in the CPU socket and then the CPU plugged into that. I don’t think that works on today’s CPUs , but I have wondered if today's computers support something like it in their hardware. For example on old intel i5 HP desktop, would that work? I tried to look it up online and I found some kind of a specification called JTAG. I am not sure what it is or if comes on normal desktops (most of the articles were about ARM I think). And similar to QEMU, the type of debugging symbols would be import, unless there is a software in between should hardware and the debugger. QEMU uses the GNU debugging symbols, I don’t remember what the proper name for the GNU/Linux style symbols is, but it is different than the MS program database PDB symbols that Vs/WinDbg use. (That is why I am unsure how one could connect WinDbg to QEMU, different symbol types). Anyway, anyone who knows some simple beginning answers (or even more complex answers) or links to internet resources on this subject is welcomed. Basically I want to do what I did with ReactOS in QEMU on real x86 hardware.



Thank you,

Chad
forgot the links
have had time to read these yet and I don't think it will happen tonight, but maybe somebody else wants too.