pgosar/ChatGDB

GitHub: pgosar/ChatGDB

ChatGDB 将 ChatGPT 集成到 GDB/LLDB 调试器中,让开发者用自然语言输入调试指令并自动执行相应命令,同时支持命令解释和即时提问。

Stars: 937 | Forks: 32

# ChatGDB 在 GDB/LLDB 调试器中释放 ChatGPT 的强大威力! ChatGDB 是一款旨在为 GDB 或 LLDB(编译型语言的调试器)调试体验赋能的工具。利用它,在您使用 GDB/LLDB 时,可以借助 ChatGPT 的强大能力来加速您的调试工作流! 它允许您用自然语言描述想做的事情,随后会自动执行相应的命令。您还可以选择让 ChatGPT 解释它刚刚运行的命令,甚至可以向它提出任何问题并让其解答。专注于重要的事情——去搞定那个棘手的 bug,而不是绞尽脑汁去回想那些一时记不起来的 GDB/LLDB 命令。 ![Image](https://lh5.googleusercontent.com/xZMLwWWxavqYjC3fyCIZJ0m-s-f-XEoiOeWGbxRrw3dWoukUoWzJJ4iiBkVO2Vtiyr4K6o0WkTs7B40TapeBPIYwgVRVhDXGVjB4tFYoKH3_nK847nYXl3pISB6dEP6Wp_o0uPlfJOjCrLspm0_VNw) ## 目录 1. [安装](#installation-intructions) 2. [更新](#updating) 3. [用法](#usage) 4. [贡献](#contributing) 5. [获取更新](#getting-updates) ### 安装说明 首先,请确保您已安装 [pip](https://pip.pypa.io/en/stable/installation/)。ChatGDB 还 要求 Python 版本为 3.3 或以上。 要安装,请运行命令 ```pip3 install chatgdb```。 它会创建一个名为 ```chatgdb``` 的可执行文件,您需要使用它来设置您的 API key。 为此,请运行命令 ```chatgdb -k ``` 您可以设置要使用的模型。有两个可用选项,即 ```gpt-3.5-turbo``` 和 ```gpt-4```(默认为前者): ```chatgdb -m ``` 如果您使用的是非官方 API 提供商,您还可以设置 API URL: ```chatgdb -u ``` 这些信息以文本形式存储在已安装脚本的同一目录下,即当前位于您的 Python site packages 文件夹中与主脚本放在一起。您可以在终端中运行以下命令轻松找到此位置: ``` python -m site --user-site``` 或者,您也可以在 releases 页面下载压缩文件以直接获取脚本。 如果您这样做,请导航到 ```chatgdb``` 文件夹,然后可以使用以下命令进行安装: ```pip3 install .```。 ### 更新 要更新 ChatGDB,请运行以下命令 ```pip3 install chatgdb --upgrade``` ### 用法 对于 GDB 的用法,我首先建议您编辑您的 ```$HOME/.gdbinit```,以便在启动时自动加载主脚本。运行以下命令: ```echo "source $(python -m site --user-site)/chatgdb/gdb.py" > $HOME/.gdbinit``` 这也适用于 LLDB。编辑您的 ```$HOME/.lldbinit``` 并运行以下命令: ```echo "command script import $(python -m site --user-site)/chatgdb/lldb.py" > $HOME/.lldbinit``` 在调试器内部,您可以运行 chat 命令并在后面附带您的查询,例如 ```chat list all breakpoints that I created```。 还有一个名为 ```explain``` 的命令,您可以在不带任何参数的情况下使用它来解释之前运行的命令, 或者附带查询内容直接向 GPT 提问。例如,在运行 ```break 7``` 之后直接运行 ```explain``` 会提示该工具解释断点的工作原理。而运行 ```explain how input formatting works in gdb``` 会提示它解释输入格式化的原理(见顶部的图片)。 运行 chat help 可以打印出关于如何使用该工具的简短教程。 ### 贡献 感谢您对为 ChatGDB 贡献力量的兴趣!请参阅 [CONTRIBUTING.md](CONTRIBUTING.md) 了解 助力开发的方式。 ### 保持更新 如果您想随时了解新功能/修复的最新动态,请关注我的 [twitter](https://twitter.com/pranay__gosar)。未来还有许多 令人兴奋的功能即将推出,例如完全的上下文感知能力,这将使 ChatGDB 不仅能帮您使用 GDB,还能帮您修复代码本身。
标签:AI辅助编程, ChatGPT, GDB, LLDB, Petitpotam, Promptflow, SOC Prime, 开发工具, 网络调试, 自动化, 逆向工具