尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Cutter 帮助菜单(Help Menu)完整指南:About 对话框、Issue 反馈与文档入口
Cutter 帮助菜单Help Menu完整指南About 对话框、Issue 反馈与文档入口【免费下载链接】cutterFree and Open Source Reverse Engineering Platform powered by rizin项目地址: https://gitcode.com/gh_mirrors/cu/cutter本篇技术指南围绕 Cutter基于 rizin 的开源逆向工程平台主窗口菜单栏中的Help帮助菜单展开详细讲解其中三个核心入口——About、Report an issue、Documentation的触发路径、界面构成与底层实现原理。阅读本文后你将掌握如何快速查看 Cutter 与 rizin 的版本信息、检查可选特性与许可证、向官方仓库提交带环境信息的 Issue以及一键打开在线用户文档并能理解这些菜单动作在源码中的真实调用链。Help 菜单的组成与入口定位Help 菜单位于 Cutter 主窗口的菜单栏中由三个动作QAction组成按顺序排列为菜单项作用About查看当前应用版本、已安装插件、作者、构建选项、许可证等信息Report an issue跳转浏览器到官方 GitHub 仓库的新建 Issue 页面并自动填充环境信息Documentation在浏览器中打开 Cutter 的用户文档这三个动作的定义可以在主窗口的 UI 布局文件 src/core/MainWindow.ui 中找到menuHelp菜单依次addaction了actionAbout、actionIssue、actionDocumentation。菜单标题带有快捷键助记符显示为Help即用户可通过AltH快速聚焦该菜单。动作与处理函数的绑定关系定义在 src/core/MainWindow.cppconnect(ui-actionDocumentation, QAction::triggered, this, MainWindow::documentationClicked); // ... connect(ui-actionAbout, QAction::triggered, this, MainWindow::onActionAboutTriggered);三者分别指向documentationClicked()、onActionAboutTriggered()与onActionIssueTriggered()后两者在 MainWindow.cpp 中定义下文逐一展开。About 对话框一站式了解应用与环境信息入口路径Help - About功能说明打开 About 对话框集中展示当前 Cutter 的版本信息、所依赖的 rizin 版本、Qt 运行时版本、可选特性Python 支持、许可证与作者信息并内嵌插件列表查看、版本详情查看、在线 Issue 跳转和自动更新检查等附加能力。点击About后MainWindow::onActionAboutTriggered()会创建并打开一个 AboutDialog对话框默认以非模态方式open()呈现并在关闭时自动释放对象void MainWindow::onActionAboutTriggered() { auto *a new AboutDialog(this); a-setAttribute(Qt::WA_DeleteOnClose); a-open(); }About 对话框展示的核心信息根据 AboutDialog.cpp 的源码实现对话框顶部为 Cutter 官方 Logoui-logoSvgWidget-load(Config()-getLogoFile())其下依次列出Cutter 版本使用编译期宏CUTTER_VERSION_FULL拼装完整版本字符串rizin 版本通过Core()-getRizinVersionReadable()获取当前运行时绑定的 rizin 引擎版本Qt 版本与编译器信息由buildQtVersionString()生成格式为Based on Qt 版本 (编译器, 位数 bit)。编译器的识别逻辑见 AboutDialog.cpp优先判定 Apple Clang其次为 Clang、GCC、MSVC无法识别时回退为unknown compiler可选特性Optional Features以编译期宏CUTTER_ENABLE_PYTHON与CUTTER_ENABLE_PYTHON_BINDINGS判定显示Python: ON/OFF与Python Bindings: ON/OFF。这组宏来自构建配置头文件 src/CutterConfig.h.in由 CMake 在构建时生成许可证明确声明 This Software is released under the GNU General Public License v3.0作者信息说明 Cutter 由社区开发、由核心团队与开发团队维护并给出完整贡献者列表入口。版本信息详情弹窗点击Show version按钮会弹出Rizin version information消息框其内容来自Core()-getVersionInformation()可在 src/core/Cutter.cpp 中查看该方法的实现它汇总了 rizin 引擎的详细版本报告文本允许鼠标选择复制便于粘贴到 Issue 中。插件列表查看点击Show plugins按钮会以模态方式打开 RizinPluginsDialog列出当前 Cutter 加载的全部 rizin 插件便于排查“某个功能是否由插件提供”或“插件版本是否匹配”等问题。自动更新检查对话框底部提供Check for updates按钮调用 UpdateWorker 的checkCurrentVersion(7000)发起版本检查7 秒超时期间显示无上限进度条等待对话框若新版本号高于当前版本则弹出更新对话框否则提示 Cutter is up to date!网络异常时弹出错误消息框见 AboutDialog.cppAutomatically check for updates复选框与全局配置项联动通过Config()-getAutoUpdateEnabled()读取、setAutoUpdateEnabled()写回。需要说明的是更新功能受编译条件CUTTER_UPDATE_WORKER_AVAILABLE控制该宏在 UpdateWorker.h 中定义取决于 Qt 版本是否 5.6。若构建环境不满足条件About 对话框会自动隐藏更新相关控件见 AboutDialog.cpp这属于预期的编译期裁剪行为。从 About 直达 Issue 反馈对话框中的Report issue按钮直接复用全局的openIssue()函数与菜单项Report an issue走同一条实现路径详见下文。Report an issue自动填充环境的智能反馈入口入口路径Help - Report an issue功能说明一键跳转到浏览器打开 Cutter 官方 GitHub 仓库的新建 Issue 页面并根据当前正在分析的文件与操作系统信息自动填好 Issue 模板中的“环境信息”段落。点击该菜单项后MainWindow::onActionIssueTriggered()调用全局函数openIssue()其实现位于 src/common/BugReporting.cpp。该函数的执行流程如下锁定 rizin 核心通过RzCoreLocked core(Core())获取 rizin 核心对象的线程安全访问读取当前二进制信息使用 rizin 二进制分析 APIrz_bin_cur、rz_bin_cur_object、rz_bin_file_cur_plugin等获取当前打开文件的格式、架构与类型拼接环境信息从当前会话提取以下字段任一字段缺失时以N/A兜底字段来源示例Operating SystemQSysInfo::productType()productVersion()ubuntu 22.04Cutter version编译期宏CUTTER_VERSION_FULL2.x.xObtained from预置多选清单源码构建 / 官方 Release / 发行版仓库Built from sourceFile format当前 rizin bin 插件名plugin-nameelfArch当前文件架构info-archx86Type当前文件类型info-typeEXEC构造完整 Issue 正文URL 中的body参数按 GitHub Issue 模板预填了完整结构——Environment information环境信息、Describe the bug问题描述、To Reproduce复现步骤 1-4、Expected behavior预期行为、Screenshots截图与Additional context补充上下文等章节打开浏览器通过QDesktopServices::openUrl()以宽容模式QUrl::TolerantMode打开该 URL。由于环境信息在打开 Issue 页面时即已自动填充提交反馈时只需补充问题描述与复现步骤可显著提升 Issue 的可复现性与处理效率。这一函数同样被 About 对话框复用AboutDialog.cpp实现了“任何入口都能快速反馈问题”的统一体验。Documentation一键直达在线用户文档入口路径Help - Documentation功能说明在系统默认浏览器中打开 Cutter 的在线用户文档。实现非常直接见 MainWindow.cppvoid MainWindow::documentationClicked() { QDesktopServices::openUrl(QUrl(https://cutter.re/docs/user-docs)); }该动作使用QDesktopServices::openUrl()调用系统关联的默认浏览器无需在应用内额外加载 Web 引擎。在线用户文档涵盖菜单详解、界面操作、快捷键与偏好设置等内容与当前仓库中的 docs/source/user-docs 目录所维护的文档同源——即本文所讲解的 Help 菜单相关文档如 menu-bar.rst 及其子目录 menu-bar 下的各菜单项文档即是该在线文档站的源文件。若网络不可用可直接在本仓库的docs/source/user-docs目录下离线查阅同主题文档。使用技巧与常见问题快速定位菜单Help 菜单支持AltH助记符快捷键打开后可用方向键在About、Report an issue、Documentation三个动作间切换并回车触发。复制版本信息在About - Show version弹出的Rizin version information对话框中文本默认可选中复制Qt::TextSelectableByMouse方便在反馈 Issue 时粘贴完整版本报告。更新入口缺失若 About 对话框中不显示更新相关控件说明当前构建未启用更新检查功能CUTTER_UPDATE_WORKER_AVAILABLE为假通常因 Qt 版本低于 5.6属正常现象不影响其他功能。Issue 环境信息缺失Report an issue打开后若发现某些环境字段显示N/A通常意味着当前尚未打开任何文件rizen bin 信息为空或操作系统版本字段不可识别可在 Issue 中手动补充。小结Help 菜单虽然只有三个入口却是 Cutter 日常使用中连接“版本确认—问题反馈—文档学习”三个环节的关键枢纽About汇聚了 Cutter/rizin/Qt 全栈版本与特性信息并附带更新检查Report an issue借助 rizin 二进制分析能力自动生成带环境上下文的 IssueDocumentation则一键打通到与 docs/source/user-docs 同源的在线用户文档。理解这些入口背后的源码实现菜单定义见 MainWindow.ui逻辑分发见 MainWindow.cppAbout 实现见 AboutDialog.cppIssue 构造见 BugReporting.cpp能帮助你在排查环境问题、提交高质量反馈时更加得心应手。【免费下载链接】cutterFree and Open Source Reverse Engineering Platform powered by rizin项目地址: https://gitcode.com/gh_mirrors/cu/cutter创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

NumPy 1.8.1 版本发布详解:1.8.x 系列 bugfix 版本修复清单与 C-API 变更解析

NumPy 1.8.1 版本发布详解:1.8.x 系列 bugfix 版本修复清单与 C-API 变更解析

NumPy 1.8.1 版本发布详解:1.8.x 系列 bugfix 版本修复清单与 C-API 变更解析 【免费下载链接】numpy The fundamental package for scientific computing with Python. 项目地址: https://gitcode.com/gh_mirrors/nu/numpy 本篇文章以 NumPy 官方 1.8.1 版本…

📅 2026/9/20 18:15:58
radare2 沙箱机制全解析:原生 -S 沙箱与 OSX/OpenBSD/FreeBSD 系统级沙箱实践指南

radare2 沙箱机制全解析:原生 -S 沙箱与 OSX/OpenBSD/FreeBSD 系统级沙箱实践指南

radare2 沙箱机制全解析:原生 -S 沙箱与 OSX/OpenBSD/FreeBSD 系统级沙箱实践指南 【免费下载链接】radare2 UNIX-like reverse engineering framework and command-line toolset 项目地址: https://gitcode.com/gh_mirrors/ra/radare2 导读 本文基于 radar…

📅 2026/9/20 18:10:58
ESP32-P4 USB Host实战:从零读取鼠标HID报告

ESP32-P4 USB Host实战:从零读取鼠标HID报告

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/9/20 18:10:58
MORE NEWS

更多资讯

📰

TypePHP对象存储三模型:Native Binary编译下Zend Object、PHPX Box与Native Class的完整边界指南

TypePHP对象存储三模型:Native Binary编译下Zend Object、PHPX Box与Native Class的完整边界指南 【免费下载链接】typephp Compile PHP to Native Binaries 项目地址: https://gitcode.com/GitHub_Trending/ty/typephp TypePHP 是一款将 PHP 编译为 Native …

📰

Android AI对话富文本实战:SpannableStringBuilder打造流式打字机与代码高亮

这段时间在做一款AI对话App,最让我头疼的不是接口对接,也不是流式返回的数据格式,而是消息气泡里的那个TextView——它既要像打字机一样一个字一个字往外蹦,又要在内容全部到达之后自动展示出代码块、加粗、行内代码、列表这些格式…

📰

集团数据资产管控:数据治理车轮图与平台落地

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

免费离线 OCR 的正确打开方式:Umi-OCR 三步跑通扫描PDF、批量图片、截图取字

免费离线 OCR 的正确打开方式:Umi-OCR 三步跑通扫描PDF、批量图片、截图取字 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生…

📰

IDE是什么?一文讲清集成开发环境的组成、选型与配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

Apache Pulsar 集群 bookiesanity 失败?用 TaoToken 接 Codex 对照 bookkeeper.conf 查

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬