flat assembler
Message board for the users of flat assembler.
Index
> Projects and Ideas > FDBG - win64 Linux64 UEFI x64 AMD64 debugger Goto page Previous 1, 2, 3 ... 10, 11, 12 |
Author |
|
I 05 Mar 2023, 08:06
@FlierMate11 Try http://fdbg.x86asm.net/
|
|||
05 Mar 2023, 08:06 |
|
FlierMate11 05 Mar 2023, 08:11
I wrote: @FlierMate11 Try http://fdbg.x86asm.net/ Cool, FDBG is hosted there, the same website I use for disassembler reference (http://ref.x86asm.net/) days ago. Thank you. |
|||
05 Mar 2023, 08:11 |
|
Feryno 05 Mar 2023, 19:31
FlierMate11 - I don't plane to put it on GitHub.
sylware - I implemented only very simple symbols, there are samples_debug_symbols The beauty of FASM is that it was possible to port debugger to win x64, linux x64, uefi x64 MazeGen was very helpful in hosting fdbg on his site. |
|||
05 Mar 2023, 19:31 |
|
sylware 06 Mar 2023, 10:23
Yeah, I saw you were using the ELF classic symbol section. No worrie here since I think we can instruct the linker to create such section with the symbols you would like to debug.
If you want to debug a binary though, the "exported symbols" are in the dynamic symbol table, which is different from the classic symbol table. No worries, it is just to make you aware of it. Great work though ! |
|||
06 Mar 2023, 10:23 |
|
I 11 Mar 2023, 04:54
Yep, good stuff and not just for debugging. I found the source code really helpful when I was trying to implement exception handling under UEFI. For some reason that I don't understand on my x64 system UEFI uses EBC ISA for debugging and not x64. Instead following Feryno's IDT route works a treat. Thanks for the insight @Feryno.
|
|||
11 Mar 2023, 04:54 |
|
Feryno 11 Mar 2023, 08:38
Yes that was the biggest challenge in UEFI, how to create something which is called "debug loop" in ms win (WaitForDebugEvent / ContinueDebugEvent) and ptrace system call in Linux. Finally I got the "bare hands" idea:
replace all UEFI exception handlers with own (using IDT) run executable on any exception restore original UEFI exception handlers |
|||
11 Mar 2023, 08:38 |
|
sylware 11 Mar 2023, 13:08
Carefull of the memory page attributes, because it seems UEFI is planning to enable the usage of write and exe attributes on some pages.
Then before replacing anything in UEFI code, you should be sure to have write access to that part of UEFI code/data and your debugger code pages have not the nexe bit on. |
|||
11 Mar 2023, 13:08 |
|
Feryno 16 Jan 2024, 15:20
I added a "p" command into fdbg for uefi. It writes a byte into i/o port 80h. These data are transmitted via ASUS COM_DEBUG port and very likely ASROCK UART1 port. You need a cheap USB to TTL device and a second computer to grab the data using putty utility. Using this command you can test easily whether your setup works. Useful when you cannot touch serial port either graphics output or if your project causes serious crash when nor serial port either graphics is responding.
For more about the hardware setup: https://forum.osdev.org/viewtopic.php?f=1&t=56069 https://youtu.be/Gnm_tuARqVI
|
|||||||||||
16 Jan 2024, 15:20 |
|
Goto page Previous 1, 2, 3 ... 10, 11, 12 < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.