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 命令。

## 目录
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, 开发工具, 网络调试, 自动化, 逆向工具