246 lines
11 KiB
Plaintext
246 lines
11 KiB
Plaintext
#undef DEBUGGING
|
|
|
|
#include <windows.h>
|
|
#include <commctrl.h>
|
|
|
|
#define VER_FILETYPE VFT_APP
|
|
#define VER_FILESUBTYPE VFT2_UNKNOWN
|
|
#define VER_FILEDESCRIPTION_STR "Windows NT GUI symbolic debugger"
|
|
#define VER_INTERNALNAME_STR "windbg.exe\0"
|
|
#define VER_ORIGINALFILENAME_STR "windbg.exe\0"
|
|
|
|
#include <dbgver.h>
|
|
|
|
#include "windbg.h"
|
|
#include "dialogs.h"
|
|
#include "menu.h"
|
|
#include "dialogs.dlg"
|
|
#include "resource.h"
|
|
|
|
HELPCURSOR CURSOR "bitmaps/help.cur"
|
|
WINDBGICON ICON "bitmaps/windbg.ico"
|
|
DOCICON ICON "bitmaps/source.ico"
|
|
CPUICON ICON "bitmaps/reg.ico"
|
|
LOCALSICON ICON "bitmaps/local.ico"
|
|
WATCHICON ICON "bitmaps/watch.ico"
|
|
DISASMICON ICON "bitmaps/asm.ico"
|
|
CMDICON ICON "bitmaps/ncmdwin.ico"
|
|
SPADICON ICON "bitmaps/spad.ico"
|
|
MEMORYICON ICON "bitmaps/memory.ico"
|
|
CALLSTACKICON ICON "bitmaps/stack.ico"
|
|
PROCTHREADICON ICON "bitmaps/procthrd.ico"
|
|
|
|
//
|
|
// Bitmaps for Windbg buttons.
|
|
//
|
|
|
|
IDB_BMP_TOOLBAR BITMAP "bitmaps/toolbar.bmp"
|
|
|
|
|
|
MAIN_MENU MENU
|
|
BEGIN
|
|
POPUP "&File"
|
|
BEGIN
|
|
MENUITEM "&Open Source File...\tCtrl+O", IDM_FILE_OPEN
|
|
MENUITEM "&Close Current Window", IDM_FILE_CLOSE
|
|
MENUITEM SEPARATOR
|
|
MENUITEM "Open &Executable...\tCtrl+E", IDM_FILE_OPEN_EXECUTABLE
|
|
MENUITEM "A&ttach to a Process...\tF6", IDM_FILE_ATTACH
|
|
MENUITEM "Open Crash &Dump...\tCtrl+D", IDM_FILE_OPEN_CRASH_DUMP
|
|
MENUITEM "Connect To &Remote Session...\tCtrl+R", IDM_FILE_CONNECT_TO_REMOTE
|
|
MENUITEM "&Kernel Debug...\tCtrl+K", IDM_FILE_KERNEL_DEBUG
|
|
MENUITEM SEPARATOR
|
|
MENUITEM "&Symbol File Path ...\tCtrl+S", IDM_FILE_SYMBOL_PATH
|
|
MENUITEM "Source File &Path ...\tCtrl+P", IDM_FILE_SOURCE_PATH
|
|
MENUITEM "&Image File Path ...\tCtrl+I", IDM_FILE_IMAGE_PATH
|
|
MENUITEM SEPARATOR
|
|
MENUITEM "Open &Workspace...\tCtrl+W", IDM_FILE_OPEN_WORKSPACE
|
|
MENUITEM "Save Workspace", IDM_FILE_SAVE_WORKSPACE
|
|
MENUITEM "Save Workspace &As...", IDM_FILE_SAVE_WORKSPACE_AS
|
|
MENUITEM "Clear Workspace...", IDM_FILE_CLEAR_WORKSPACE
|
|
MENUITEM "Delete Workspaces...", IDM_FILE_DELETE_WORKSPACES
|
|
MENUITEM SEPARATOR
|
|
MENUITEM "Map Network Drive...", IDM_FILE_MAP_NET_DRIVE,
|
|
MENUITEM "Disconnect Network Drive...", IDM_FILE_DISCONN_NET_DRIVE,
|
|
MENUITEM SEPARATOR
|
|
POPUP "Recent &Files"
|
|
BEGIN
|
|
MENUITEM "Recent File", IDM_FILE_MRU_FILE1, GRAYED
|
|
END
|
|
MENUITEM SEPARATOR
|
|
MENUITEM "E&xit\aAlt+F4", IDM_FILE_EXIT
|
|
END
|
|
POPUP "&Edit"
|
|
BEGIN
|
|
MENUITEM "Cu&t\tCtrl+X", IDM_EDIT_CUT
|
|
MENUITEM "&Copy\tCtrl+C", IDM_EDIT_COPY
|
|
MENUITEM "&Paste\tCtrl+V", IDM_EDIT_PASTE
|
|
MENUITEM "Select &All\tCtrl+A", IDM_EDIT_SELECT_ALL
|
|
MENUITEM "&Add to Command Output", IDM_EDIT_ADD_TO_COMMAND_HISTORY
|
|
MENUITEM "Clear Command O&utput", IDM_EDIT_CLEAR_COMMAND_HISTORY
|
|
MENUITEM SEPARATOR
|
|
MENUITEM "&Find...\tCtrl+F", IDM_EDIT_FIND, GRAYED
|
|
MENUITEM SEPARATOR
|
|
MENUITEM "&Go to Address...\tCtrl+G", IDM_EDIT_GOTO_ADDRESS, GRAYED
|
|
MENUITEM "Go to &Line...\tCtrl+L", IDM_EDIT_GOTO_LINE, GRAYED
|
|
MENUITEM SEPARATOR
|
|
MENUITEM "&Breakpoints...\tAlt+F9", IDM_EDIT_BREAKPOINTS
|
|
MENUITEM "&Open/Close Log File...", IDM_EDIT_LOG_FILE
|
|
MENUITEM SEPARATOR
|
|
MENUITEM "&Properties...", IDM_EDIT_PROPERTIES, GRAYED
|
|
END
|
|
POPUP "&View"
|
|
BEGIN
|
|
MENUITEM "&Command\tAlt+1", IDM_VIEW_COMMAND
|
|
MENUITEM "&Watch\tAlt+2", IDM_VIEW_WATCH
|
|
MENUITEM "&Locals\tAlt+3", IDM_VIEW_LOCALS
|
|
MENUITEM "&Registers\tAlt+4", IDM_VIEW_REGISTERS
|
|
MENUITEM "&Memory\tAlt+5", IDM_VIEW_MEMORY
|
|
MENUITEM "Call Stac&k\tAlt+6", IDM_VIEW_CALLSTACK
|
|
MENUITEM "&Disassembly\tAlt+7", IDM_VIEW_DISASM
|
|
MENUITEM "&Scratch Pad\tAlt+8", IDM_VIEW_SCRATCH
|
|
MENUITEM "Processes and Threads\tAlt+9", IDM_VIEW_PROCESS_THREAD
|
|
MENUITEM SEPARATOR
|
|
MENUITEM "&Verbose Output\tCtrl+Alt+V", IDM_VIEW_TOGGLE_VERBOSE
|
|
MENUITEM "Sho&w Version\tCtrl+Alt+W", IDM_VIEW_SHOW_VERSION
|
|
MENUITEM SEPARATOR
|
|
MENUITEM "Tool&bar", IDM_VIEW_TOOLBAR, CHECKED
|
|
MENUITEM "&Status Bar", IDM_VIEW_STATUS, CHECKED
|
|
MENUITEM SEPARATOR
|
|
MENUITEM "Fo&nt...", IDM_VIEW_FONT
|
|
MENUITEM "&Options...", IDM_VIEW_OPTIONS
|
|
END
|
|
POPUP "&Debug"
|
|
BEGIN
|
|
MENUITEM "&Go\tF5", IDM_DEBUG_GO
|
|
MENUITEM "Go &Unhandled Exception", IDM_DEBUG_GO_UNHANDLED
|
|
MENUITEM "Go &Handled Exception", IDM_DEBUG_GO_HANDLED
|
|
MENUITEM "&Restart\tCtrl+Shift+F5", IDM_DEBUG_RESTART
|
|
MENUITEM "Stop &Debugging\tShift+F5", IDM_DEBUG_STOPDEBUGGING
|
|
MENUITEM "&Break\tCtrl+Break", IDM_DEBUG_BREAK
|
|
MENUITEM SEPARATOR
|
|
MENUITEM "Step &Into\tF11 or F8", IDM_DEBUG_STEPINTO
|
|
MENUITEM "Step &Over\tF10", IDM_DEBUG_STEPOVER
|
|
MENUITEM "Step Out\tShift+F11", IDM_DEBUG_STEPOUT
|
|
MENUITEM "Run to &Cursor\tCtrl+F10 or F7", IDM_DEBUG_RUNTOCURSOR
|
|
MENUITEM SEPARATOR
|
|
MENUITEM "&Source Mode", IDM_DEBUG_SOURCE_MODE, CHECKED
|
|
MENUITEM SEPARATOR
|
|
MENUITEM "&Event Filters...", IDM_DEBUG_EVENT_FILTERS
|
|
MENUITEM "&Modules...", IDM_DEBUG_MODULES
|
|
MENUITEM SEPARATOR
|
|
POPUP "&Kernel Connection"
|
|
BEGIN
|
|
MENUITEM "Cycle B&aud Rate\tCtrl+Alt+A", IDM_KDEBUG_TOGGLE_BAUDRATE
|
|
MENUITEM "Cycle Initial Break\tCtrl+Alt+K", IDM_KDEBUG_TOGGLE_INITBREAK
|
|
MENUITEM "Resynchronize\tCtrl+Alt+R", IDM_KDEBUG_RECONNECT
|
|
END
|
|
END
|
|
POPUP "&Window"
|
|
BEGIN
|
|
MENUITEM "C&ascade", IDM_WINDOW_CASCADE
|
|
MENUITEM "Tile &Horizontally", IDM_WINDOW_TILE_HORZ
|
|
MENUITEM "Tile &Vertically", IDM_WINDOW_TILE_VERT
|
|
MENUITEM "Arran&ge", IDM_WINDOW_ARRANGE
|
|
MENUITEM "Arrange &Icons", IDM_WINDOW_ARRANGE_ICONS
|
|
MENUITEM SEPARATOR
|
|
MENUITEM "A&uto-arrange", IDM_WINDOW_AUTO_ARRANGE
|
|
MENUITEM "A&rrange All Windows", IDM_WINDOW_ARRANGE_ALL
|
|
MENUITEM "Overlay &Source", IDM_WINDOW_OVERLAY_SOURCE
|
|
MENUITEM "Automatically Open &Disassembly", IDM_WINDOW_AUTO_DISASM
|
|
END
|
|
POPUP "&Help"
|
|
BEGIN
|
|
MENUITEM "&Contents", IDM_HELP_CONTENTS
|
|
MENUITEM "&Index", IDM_HELP_INDEX
|
|
MENUITEM "&Search", IDM_HELP_SEARCH
|
|
MENUITEM SEPARATOR
|
|
MENUITEM "&About...", IDM_HELP_ABOUT
|
|
END
|
|
END
|
|
|
|
//
|
|
// Default accelerators
|
|
//
|
|
|
|
MAIN_ACC ACCELERATORS
|
|
BEGIN
|
|
// File Menu
|
|
"O", IDM_FILE_OPEN, VIRTKEY, CONTROL
|
|
"E", IDM_FILE_OPEN_EXECUTABLE, VIRTKEY, CONTROL
|
|
VK_F6, IDM_FILE_ATTACH, VIRTKEY
|
|
"D", IDM_FILE_OPEN_CRASH_DUMP, VIRTKEY, CONTROL
|
|
"K", IDM_FILE_KERNEL_DEBUG, VIRTKEY, CONTROL
|
|
"P", IDM_FILE_SOURCE_PATH, VIRTKEY, CONTROL
|
|
"S", IDM_FILE_SYMBOL_PATH, VIRTKEY, CONTROL
|
|
"R", IDM_FILE_CONNECT_TO_REMOTE, VIRTKEY, CONTROL
|
|
"I", IDM_FILE_IMAGE_PATH, VIRTKEY, CONTROL
|
|
VK_F4, IDM_FILE_EXIT, VIRTKEY, ALT
|
|
"W", IDM_FILE_OPEN_WORKSPACE, VIRTKEY, CONTROL
|
|
|
|
// Edit Menu
|
|
// CUA compliant & old style
|
|
"X", IDM_EDIT_CUT, VIRTKEY, CONTROL
|
|
VK_DELETE, IDM_EDIT_CUT, VIRTKEY, SHIFT
|
|
"C", IDM_EDIT_COPY, VIRTKEY, CONTROL
|
|
VK_INSERT, IDM_EDIT_COPY, VIRTKEY, CONTROL
|
|
"V", IDM_EDIT_PASTE, VIRTKEY, CONTROL
|
|
VK_INSERT, IDM_EDIT_PASTE, VIRTKEY, SHIFT
|
|
"A", IDM_EDIT_SELECT_ALL, VIRTKEY, CONTROL
|
|
"F", IDM_EDIT_FIND, VIRTKEY, CONTROL
|
|
"G", IDM_EDIT_GOTO_ADDRESS, VIRTKEY, CONTROL
|
|
"L", IDM_EDIT_GOTO_LINE, VIRTKEY, CONTROL
|
|
VK_F9, IDM_EDIT_BREAKPOINTS, VIRTKEY, ALT
|
|
VK_F9, IDM_EDIT_TOGGLEBREAKPOINT, VIRTKEY
|
|
|
|
// Debug Menu
|
|
VK_F5, IDM_DEBUG_GO, VIRTKEY
|
|
VK_F5, IDM_DEBUG_RESTART, VIRTKEY, SHIFT, CONTROL
|
|
VK_F5, IDM_DEBUG_STOPDEBUGGING, VIRTKEY, SHIFT
|
|
VK_CANCEL, IDM_DEBUG_BREAK, VIRTKEY, CONTROL
|
|
// Old Key
|
|
VK_F7, IDM_DEBUG_RUNTOCURSOR, VIRTKEY
|
|
// New Key
|
|
VK_F10, IDM_DEBUG_RUNTOCURSOR, VIRTKEY, CONTROL
|
|
// Old key
|
|
VK_F8, IDM_DEBUG_STEPINTO, VIRTKEY
|
|
// New key
|
|
VK_F11, IDM_DEBUG_STEPINTO, VIRTKEY
|
|
VK_F10, IDM_DEBUG_STEPOVER, VIRTKEY
|
|
VK_F11, IDM_DEBUG_STEPOUT, VIRTKEY, SHIFT
|
|
|
|
"A", IDM_KDEBUG_TOGGLE_BAUDRATE, VIRTKEY, CONTROL, ALT
|
|
"D", IDM_KDEBUG_TOGGLE_DEBUG, VIRTKEY, CONTROL, ALT
|
|
"K", IDM_KDEBUG_TOGGLE_INITBREAK,VIRTKEY, CONTROL, ALT
|
|
"R", IDM_KDEBUG_RECONNECT, VIRTKEY, CONTROL, ALT
|
|
|
|
"V", IDM_VIEW_TOGGLE_VERBOSE, VIRTKEY, CONTROL, ALT
|
|
"W", IDM_VIEW_SHOW_VERSION, VIRTKEY, CONTROL, ALT
|
|
|
|
"1", IDM_VIEW_COMMAND, VIRTKEY, ALT
|
|
"2", IDM_VIEW_WATCH, VIRTKEY, ALT
|
|
"3", IDM_VIEW_LOCALS, VIRTKEY, ALT
|
|
"4", IDM_VIEW_REGISTERS, VIRTKEY, ALT
|
|
"5", IDM_VIEW_MEMORY, VIRTKEY, ALT
|
|
"6", IDM_VIEW_CALLSTACK, VIRTKEY, ALT
|
|
"7", IDM_VIEW_DISASM, VIRTKEY, ALT
|
|
"8", IDM_VIEW_SCRATCH, VIRTKEY, ALT
|
|
"9", IDM_VIEW_PROCESS_THREAD, VIRTKEY, ALT
|
|
|
|
"1", IDM_VIEW_COMMAND, VIRTKEY, ALT, SHIFT
|
|
"2", IDM_VIEW_WATCH, VIRTKEY, ALT, SHIFT
|
|
"3", IDM_VIEW_LOCALS, VIRTKEY, ALT, SHIFT
|
|
"4", IDM_VIEW_REGISTERS, VIRTKEY, ALT, SHIFT
|
|
"5", IDM_VIEW_MEMORY, VIRTKEY, ALT, SHIFT
|
|
"6", IDM_VIEW_CALLSTACK, VIRTKEY, ALT, SHIFT
|
|
"7", IDM_VIEW_DISASM, VIRTKEY, ALT, SHIFT
|
|
"8", IDM_VIEW_SCRATCH, VIRTKEY, ALT, SHIFT
|
|
"9", IDM_VIEW_PROCESS_THREAD, VIRTKEY, ALT, SHIFT
|
|
|
|
END
|
|
|
|
|
|
// Define the string table
|
|
|
|
#include <res_str.i>
|