Skip to content

Commit 66a5df8

Browse files
committed
add local documentation
1 parent 05a7015 commit 66a5df8

File tree

2 files changed

+520
-0
lines changed

2 files changed

+520
-0
lines changed

documentation/Manual.html

Lines changed: 511 additions & 0 deletions
Large diffs are not rendered by default.

ui.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from PySide2 import QtCore
22
from PySide2.QtCore import Qt
33
from PySide2.QtWidgets import QApplication, QHBoxLayout, QVBoxLayout, QLabel, QWidget, QPushButton, QLineEdit
4+
from PySide2.QtGui import QDesktopServices
45
from binaryninja.plugin import PluginCommand
56
from binaryninja import Endianness, HighlightStandardColor, execute_on_main_thread, execute_on_main_thread_and_wait, LowLevelILOperation, BinaryReader
67
from binaryninja.settings import Settings
@@ -10,6 +11,8 @@
1011
from . import binjaplug
1112
import datetime
1213
import traceback
14+
import os
15+
import pathlib
1316

1417
class DebuggerUI:
1518
def __init__(self, state):
@@ -599,6 +602,11 @@ def valid_control_step_return(bv):
599602
# Load plugin commands and actions
600603
#------------------------------------------------------------------------------
601604

605+
def helpDocs(context):
606+
docPath = os.path.join(os.path.dirname(__file__), "Documentation")
607+
URLPath = pathlib.Path(os.path.join(docPath, "Manual.html")).as_uri()
608+
QDesktopServices.openUrl(URLPath)
609+
602610
def initialize_ui():
603611
widget.register_dockwidget(BreakpointsWidget.DebugBreakpointsWidget, "Debugger Breakpoints", Qt.BottomDockWidgetArea, Qt.Horizontal, False)
604612
widget.register_dockwidget(RegistersWidget.DebugRegistersWidget, "Debugger Registers", Qt.RightDockWidgetArea, Qt.Vertical, False)
@@ -610,6 +618,7 @@ def initialize_ui():
610618
PluginCommand.register_for_address("Debugger\\Toggle Breakpoint", "sets/clears breakpoint at right-clicked address", cb_bp_toggle, is_valid=valid_bp_toggle)
611619

612620
PluginCommand.register("Debugger\\Process\\Run", "Start new debugging session", cb_process_run, is_valid=valid_process_run)
621+
PluginCommand.register("Debugger\\User Documentation", "Open Debugger Documentation", helpDocs, is_valid=valid_process_run)
613622
PluginCommand.register("Debugger\\Process\\Restart", "Restart debugging session", cb_process_restart, is_valid=valid_process_restart)
614623
PluginCommand.register("Debugger\\Process\\Quit", "Terminate debugged process and end session", cb_process_quit, is_valid=valid_process_quit)
615624
# PluginCommand.register("Debugger\\Process\\Attach", "Attach to running process", cb_process_attach, is_valid=valid_process_attach)

0 commit comments

Comments
 (0)