blackjack/include/debug.h
2024-07-23 03:34:31 +03:00

72 lines
No EOL
2.2 KiB
C

#ifndef __DEBUG_H
#define __DEBUG_H
#ifdef DEBUG
#include <stdio.h>
#include <sys/user.h>
#define TRACE(fmt, ...) fprintf(stderr, "%s:%d:%s\tTRACE\t" fmt, __FILE__, __LINE__, __func__, ##__VA_ARGS__)
static void print_registers(const struct user_regs_struct* regs)
{
fprintf(stderr,
"r15\t%p\n"
"r14\t%p\n"
"r13\t%p\n"
"r12\t%p\n"
"rbp\t%p\n"
"rbx\t%p\n"
"r11\t%p\n"
"r10\t%p\n"
"r9\t%p\n"
"r8\t%p\n"
"rax\t%p\n"
"rcx\t%p\n"
"rdx\t%p\n"
"rsi\t%p\n"
"rdi\t%p\n"
"orig_rax\t%p\n"
"rip\t%p\n"
"cs\t%p\n"
"eflags\t%p\n"
"rsp\t%p\n"
"ss\t%p\n"
"fs_base\t%p\n"
"gs_base\t%p\n"
"ds\t%p\n"
"es\t%p\n"
"fs\t%p\n"
"gs\t%p\n",
(void*)regs->r15,
(void*)regs->r14,
(void*)regs->r13,
(void*)regs->r12,
(void*)regs->rbp,
(void*)regs->rbx,
(void*)regs->r11,
(void*)regs->r10,
(void*)regs->r9,
(void*)regs->r8,
(void*)regs->rax,
(void*)regs->rcx,
(void*)regs->rdx,
(void*)regs->rsi,
(void*)regs->rdi,
(void*)regs->orig_rax,
(void*)regs->rip,
(void*)regs->cs,
(void*)regs->eflags,
(void*)regs->rsp,
(void*)regs->ss,
(void*)regs->fs_base,
(void*)regs->gs_base,
(void*)regs->ds,
(void*)regs->es,
(void*)regs->fs,
(void*)regs->gs
);
}
#else
#define TRACE(fmt, ...)
#define print_registers(regs)
#endif
#endif