⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 entry.h

📁 Linux下的类似softice的调试工具
💻 H
字号:
/****************************************************************************** * * Copyright (c) 2003 Gerhard W. Gruber * * PROJECT: pICE * $Source: /cvsroot/pice/pice/module/entry.h,v $ * $Revision: 1.3 $ * $Date: 2004/02/17 23:07:36 $ * $Author: lightweave $ * $Name:  $ * * $Log: entry.h,v $ * Revision 1.3  2004/02/17 23:07:36  lightweave * * Improved the DEBUG facillity and replaced the configuration handler with a * new code which now can read MS Windows INI style files. See CHANGES.txt for * more details. * Also added a macro which prevents compiling for kernels before 2.4.19. * * Revision 1.2  2003/06/18 22:00:22  lightweave * DEBUG and DEBUG_SERIAL added * * *****************************************************************************//*++Copyright (c) 1998-2001 Klaus P. GerlicherModule Name:    entry.hAbstract:    HEADER for shell.cEnvironment:    LINUX 2.2.X    Kernel mode onlyAuthor:     Klaus P. GerlicherRevision History:    15-Nov-2000:    general cleanup of source filesCopyright notice:  This file may be distributed under the terms of the GNU Public License.--*/#ifndef _ENTRY_H#define _ENTRY_H// stack frame passed to shell functiontypedef struct _EXCEPTION_FRAME{    USHORT ss;               // esp + 0	USHORT ssDummy;    USHORT gs;               //     + 4	USHORT gsDummy;    USHORT fs;               //     + 8	USHORT fsDummy;    USHORT es;               //     + 12	USHORT esDummy;    USHORT ds;               //     + 16	USHORT dsDummy;    ULONG edi;              //     + 20    ULONG esi;              //     + 24    ULONG ebp;              //     + 28    ULONG esp;              //     + 32     ESP before PUSHAD    ULONG ebx;              //     + 36    ULONG edx;              //     + 40    ULONG ecx;              //     + 44    ULONG eax;              //     + 48    ULONG reason_code;      //     + 52    ULONG error_code;       //     + 56     although not existent with all faults, it's always artificially created anyhow    ULONG eip;              //     + 60    USHORT cs;               //     + 64	USHORT csDummy;    ULONG eflags;           //     + 68    ULONG ring3_esp;        //     + 72     real ESP if CS != current CS (privilege switch);    ULONG ring3_ss;         //     + 76}__attribute__((packed)) EXCEPTION_FRAME;ULONG HandleEntry(EXCEPTION_FRAME* pFrame);void DebuggerEntry(void);extern ULONG CurrentDR0,CurrentDR1,CurrentDR2,CurrentDR3,CurrentDR6,CurrentDR7;extern ULONG CurrentCR0,CurrentCR2,CurrentCR3,CurrentCR4;extern BOOLEAN bControl; // TRUE when CTRL key was pressedextern BOOLEAN bShift; // TRUE when SHIFT key was pressedextern BOOLEAN bAlt; // TRUE when SHIFT key was pressedextern BOOLEAN bNotifyToExit; // TRUE when debugger should leaveextern BOOLEAN bDebuggerHaltState;extern BOOLEAN bHasFixup;extern USHORT OldSelector;extern ULONG OldOffset;extern ULONG g_ulLineNumberStart;extern BOOLEAN bStepThroughSource;extern BOOLEAN bStepInto;#define PICE_MAX_CPUS (32)extern EXCEPTION_FRAME OldFrame[PICE_MAX_CPUS];// there's a copy of these flags in asm_stubs.asm. // !!! KEEP THAT UP TO DATE !!!#define REASON_INT3                 (0)#define REASON_SINGLESTEP           (1)#define REASON_HOTKEY               (2)#define REASON_PAGEFAULT            (3)#define REASON_GP_FAULT             (4)#define REASON_HARDWARE_BP          (5)#define REASON_DOUBLE_FAULT         (6)#define REASON_MODULE_LOAD          (7)#define REASON_INTERNAL_ERROR       (8)#define REASON_SYSCALL			    (9)#define REASON_STACK_FAULT		    (10)#define REASON_INVALID_OPCODE_FAULT	(11)#define REASON_DIVBYZERO_FAULT	    (12)#define REASON_TIMER			    (13)#define REASON_NMI                  (14)#define REASON_NOT_PRESENT          (15)#define REASON_ALIGNMENT			(16)#define REASON_BOOT_PARAMS			(17)#define REASON_OTHER_CPU			(18)void DebuggerHotkey(void);void DebuggerBootParams(void);void InternalError(EXCEPTION_FRAME* pFrame);#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -