yanchicao-yiwei-slt
This commit is contained in:
66
quick_gdb_test.sh
Executable file
66
quick_gdb_test.sh
Executable file
@@ -0,0 +1,66 @@
|
||||
#!/bin/bash
|
||||
# MIPS GDB 调试快速测试脚本
|
||||
|
||||
echo "================================"
|
||||
echo "MIPS translate.c GDB 调试向导"
|
||||
echo "================================"
|
||||
echo ""
|
||||
|
||||
# 检查 Renode 是否在运行
|
||||
if pgrep -f Renode.dll > /dev/null; then
|
||||
PID=$(pgrep -f Renode.dll)
|
||||
echo "✅ 检测到 Renode 正在运行 (PID: $PID)"
|
||||
echo ""
|
||||
echo "现在将执行以下操作:"
|
||||
echo "1. 附加 GDB 到 Renode"
|
||||
echo "2. 设置断点在 gen_intermediate_code"
|
||||
echo "3. 等待您在 Renode 中执行 'cpu Step 1'"
|
||||
echo ""
|
||||
echo "⚠️ 重要提示:"
|
||||
echo " 请确保您在 Renode 中已经执行了:"
|
||||
echo " - mach create \"MIPS-Test\""
|
||||
echo " - machine LoadPlatformDescription @platforms/cpus/mips32_simple.repl"
|
||||
echo " - cpu PC 0x80000000"
|
||||
echo " - cpu A0 5"
|
||||
echo " - cpu A1 3"
|
||||
echo " - sysbus WriteDoubleWord 0x80000000 0x00851020"
|
||||
echo ""
|
||||
echo " 但是 ⚠️ 不要执行 'cpu Step 1' ⚠️"
|
||||
echo ""
|
||||
read -p "按 Enter 继续附加 GDB..."
|
||||
|
||||
# 创建 GDB 命令文件
|
||||
cat > /tmp/gdb_commands.txt << 'EOF'
|
||||
set breakpoint pending on
|
||||
break gen_intermediate_code
|
||||
info breakpoints
|
||||
echo \n==============================================\n
|
||||
echo ✅ 断点已设置!\n
|
||||
echo \n现在请切换到 Renode 窗口执行: cpu Step 1\n
|
||||
echo ==============================================\n\n
|
||||
continue
|
||||
EOF
|
||||
|
||||
echo ""
|
||||
echo "启动 GDB..."
|
||||
sudo gdb -p $PID -x /tmp/gdb_commands.txt
|
||||
|
||||
else
|
||||
echo "❌ 错误:Renode 没有运行"
|
||||
echo ""
|
||||
echo "请先在另一个终端启动 Renode:"
|
||||
echo " cd ~/source/renode"
|
||||
echo " ./renode"
|
||||
echo ""
|
||||
echo "然后在 Renode Monitor 中执行:"
|
||||
echo " mach create \"MIPS-Test\""
|
||||
echo " machine LoadPlatformDescription @platforms/cpus/mips32_simple.repl"
|
||||
echo " cpu PC 0x80000000"
|
||||
echo " cpu A0 5"
|
||||
echo " cpu A1 3"
|
||||
echo " sysbus WriteDoubleWord 0x80000000 0x00851020"
|
||||
echo ""
|
||||
echo "⚠️ 不要执行 'cpu Step 1',然后再运行此脚本"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user