首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Emacs中使用gdb-mode调试flash

在Emacs中使用gdb-mode调试flash

gdb-mode是Emacs中的一个模式,它允许用户在Emacs中调试程序。在调试Flash程序时,gdb-mode可以帮助用户追踪程序的执行过程,检查变量的值,设置断点等。

以下是使用gdb-mode调试Flash程序的步骤:

  1. 启动gdb-mode:在Emacs中打开要调试的Flash程序,然后使用M-x gdb命令启动gdb-mode。
  2. 编译Flash程序:在gdb-mode中,使用M-x compile命令编译Flash程序。
  3. 设置断点:在gdb-mode中,使用M-x gdb-set-breakpoint命令设置断点。
  4. 启动程序:在gdb-mode中,使用M-x gdb-run命令启动程序。
  5. 调试程序:在gdb-mode中,使用M-x gdb-step命令逐行执行程序,检查变量的值,查看程序的执行过程。
  6. 结束调试:在gdb-mode中,使用M-x gdb-quit命令结束调试。

需要注意的是,在使用gdb-mode调试Flash程序时,需要先安装gdb和Flash的调试器。此外,gdb-mode还提供了许多其他的命令和选项,可以帮助用户更好地调试程序。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

emacs配置文件3

;;普通设置 (setq inhibit-startup-message t);关闭起动时闪屏 (setq visible-bell t);关闭出错时的提示声 (show-paren-mode t);显示括号匹配 ;(set-default-font "-adobe-courier-medium-r-normal--14-100-100-100-m-90-iso10646-1");;字体设置 (column-number-mode t);显示列号 (setq frame-title-format "%n%F/%b");在窗口的标题栏上显示文件名称 (mouse-avoidance-mode 'animate);光标靠近鼠标指针时,让鼠标指针自动让开 (setq default-frame-alist '((height . 25) (width . 80) (menu-bar-lines . 80) (tool-bar-lines . 80)));设置窗口启动大小 (fset 'yes-or-no-p 'y-or-n-p);以 y/n代表 yes/no (setq-default make-backup-files nil);;不要生成临时文件 (setq x-select-enable-clipboard t);;允许emacs和外部其他程序的粘贴 (setq mouse-yank-at-point t);支持中键粘贴 ;(show-paren-mode 't); 高亮显示匹配括号 ;;自动插入匹配的括号 ;; enable skeleton-pair insert globally (setq skeleton-pair t) (global-set-key (kbd "(") 'skeleton-pair-insert-maybe) (global-set-key (kbd "[") 'skeleton-pair-insert-maybe) (global-set-key (kbd "{") 'skeleton-pair-insert-maybe) ;;热键设置 (global-set-key [f9] 'delete-window);F9 关闭d当前窗口 (global-set-key [f8] 'other-window);F8窗口间跳转 (global-set-key [(f2)] 'ansi-term);F2 切换到shell模式 ;(global-set-key [f3] 'split-window-vertically);F3分割窗口 (global-set-key [f12] 'my-fullscreen);F12 全屏 (global-set-key [(f4)] 'compile);编译 (global-set-key [f5] 'gdb);启动gdb (global-set-key [(f6)] 'gdb-many-windows);启动窗口gdb (global-set-key [f1] 'goto-line);设置M-g为goto-line ;(global-set-key [f7] 'other-frame);跳到其它窗格 (global-set-key [(f3)] 'speedbar);打开speedbar ;;显示行号 (load-file "~/dos/emacs/display-line-number.el") ;;(autoload `display-line-number-mode-on "display-line-number" "display mode" t) (require 'display-line-number) (global-display-line-number-mode t) ;;鼠标滚轮,默认的滚动太快,这里改为3行 (defun up-slightly () (interactive) (scroll-up 3)) (defun down-slightly () (interactive) (scroll-down 3)) (global-set-key [mouse-4] 'down-slightly) (global-set-key [mouse-5] 'up-slightly) ;;代码折 (add-hook 'c-mode-hook 'hs-minor-mode) (add-hook 'c++-mode-hook 'hs-minor-mode)   ;全屏 (defun my-fullscreen ()   (interactive)   (x-send-client-message    nil 0 nil "_NET_WM_STATE" 32    '(

03

用GCC开发STM32入门二

之前从网上下载了一份用GCC开发stm32的程序,也是用的stm32的库函数编程,启动文件是startup_stm32f10x_hd.s,链接脚本文件是从gcc_ride7中拷贝出的stm32f10x_flash_extsram.ld,做了些简单修改。但是编译了一下,出现了一大堆的错误。于是干脆不用这些文件,从网上查资料,自己写启动文件和链接脚本。仔细看了下startup_stm32f10x_hd.s,这个文件,发现也很简单,无非是定义了一些中断向量表和完成数据段的搬移和.bss段的清零等工作,并把程序跳转到main()函数。然后链接脚本文件告知链接器,把所有目标文件相应的段连接到一起,并把目标文件中的“变量地址”“函数地址”重定位至正确的地址空间; 编写前需要知道C程序编译后的典型内存布局 ,单片机的启动流程以及链接脚本文件的作用和编写等知识。部分知识,摘自网络。

02

gdb调试多线程多进程

1、info threads:   这条命令显示的是当前可调试的所有线程,GDB会给每一个线程都分配一个ID。前面有*的线程是当前正在调试的线程。 2、thread ID:   切换到当前调试的线程为指定为ID的线程。 3、thread apply all command:   让所有被调试的线程都执行command命令 4、thread apply ID1 ID2 … command:   这条命令是让线程编号是ID1,ID2…等等的线程都执行command命令 5、set scheduler-locking off|on|step:   在使用step或continue命令调试当前被调试线程的时候,其他线程也是同时执行的,如果我们只想要被调试的线程执行,而其他线程停止等待,那就要锁定要调试的线程,只让它运行。   off:不锁定任何线程,所有线程都执行。   on:只有当前被调试的线程会执行。   step:阻止其他线程在当前线程单步调试的时候抢占当前线程。只有当next、continue、util以及finish的时候,其他线程才会获得重新运行的。 6、show scheduler-locking:   这条命令是为了查看当前锁定线程的模式。

03
领券