VELT-0.1.5开发:在vs2013下调试Linux内核

快乐虾

http://blog.csdn.net/lights_joy/(QQ群:Visual EmbedLinux Tools 375515651)

欢迎转载,但请保留作者信息

本文仅适用于vs2013 + velt-0.1.5

VELT的全称是Visual EmbedLinuxTools,它是一个与visual gdb类似的visual studio插件,用以辅助完成Linux开发。利用这个插件,将可以在visual studio的IDE中进行Linux应用程序的开发(包括编译和调试),也可以进行uboot和linux内核的编译,并根据编译时的错误信息正确定位到源码。目前的版本是0.1.4,仅支持vs2013。此插件可以在CSDN下载频道下载(http://download.csdn.net/detail/lights_joy/8429771)。下面是它的基本功能:

  1. 支持x86 Linux,海思hi3516/hi3520,MinGW这几个平台,提供这几个平台的项目模板。
  2. 完成UBOOT的编译,并根据编译的错误信息自动定位到相应的文件位置。
  3. 完成LINUX内核的编译,并根据编译的错误信息自动定位到相应的文件位置。
  4. 在VS下完成Linux内核的配置。
  5. 不使用Makefile进行Linux应用程序的编译。
  6. 使用Makefile进行Linux应用程序的开发。
  7. 使用SSH连接目标机器并用gdb进行应用程序的调试。
  8. 使用Telnet连接目标机器并用gdb进行应用程序的调试。
  9. 在VS中集成Linux终端(Poderosa),支持SSH/Telnet/Com,在打开终端时自动将VS的变量导出为bash里的变量,如ProjectDir等。

在用gdb命令行成功连接目标板后,尝试在vs2013下连接目标板。

与应用程序相比,仅仅只需要将原来的-exec-run改为target remoteCOM1,其余照旧。

很快就看到结果了。

首先配置好调试参数:

由于gdb运行于windows下,因而这里采用windows路径。gdb将读取linux内核源码根目录下的vmlinux。

当启动调试时,RemoteConsole会输出提示信息并等待:

此时调试器将等待串口输出:

kgdb: Waiting for connection from remote gdb...

在接收到此输出后启动gdb并加载vmlinux

然后可以看到vs中断下来:

此时的调用栈:

呵呵,小小地激动了一把。

在我们的驱动上设一个断点,run

这回是大大地激动了一把。

不过在用了一段时间后激动慢慢退去,越来越觉得不爽,最主要的就是一个字

毕竟是串口的东西!!

而且由于内核的优化,很多东西其实是显示不出来的。

线程也不正确:

只有当前中断的内核线程可以取到栈。

反汇编基本显示不出来,因为太慢了,而且有数据丢失。

下回试试用命令行的接口,不用mi。

??

时间: 2024-10-24 14:44:53

VELT-0.1.5开发:在vs2013下调试Linux内核的相关文章

VELT-0.1.5开发:在vs2013下调试Linux GUI程序

VELT的全称是Visual EmbedLinuxTools,它是一个与visual gdb类似的visual studio插件,用以辅助完成Linux开发.利用这个插件,将可以在visual studio的IDE中进行Linux应用程序的开发(包括编译和调试),也可以进行uboot和linux内核的编译,并根据编译时的错误信息正确定位到源码.目前的版本是0.1.4,仅支持vs2013.此插件可以在CSDN下载频道下载(http://download.csdn.net/detail/lights

VELT-0.1.5开发:使用kgdb调试Linux内核

VELT的全称是Visual EmbedLinuxTools,它是一个与visual gdb类似的visual studio插件,用以辅助完成Linux开发.利用这个插件,将可以在visual studio的IDE中进行Linux应用程序的开发(包括编译和调试),也可以进行uboot和linux内核的编译,并根据编译时的错误信息正确定位到源码.目前的版本是0.1.4,仅支持vs2013.此插件可以在CSDN下载频道下载(http://download.csdn.net/detail/lights

【转】TI-Davinci开发系列之六CCS5.2调试Linux内核

上转博文<TI-Davinci开发系列之五CCS5.2使用gdbserver远程调试应用程序> 使用CCS5.2远程调试内核时,只需导入Linux内核源码,而不需要编译内核,也就不会用到交叉编译链,同时不需要使用gdbserver,但需要仿真器XDS560V2,所以Windows和Linux都可以完成,但考虑到Windows CCS5.2软件成熟,bug较少,且Windows易于操作,故本文推荐并主要介绍Windows版CCS5.2调试内核的方法.在介绍远程调试Linux之前,务必保证仿真器X

Mac下调试Win内核 (双虚拟机调试) 环境配置

调试机: Win7+Windbg 被调试机: xp 虚拟机: VM 修改VM配置 添加串口 右击 -> 显示包内容 然后编辑 .vmx 后戳的文件 添加下面的配置 win7 (调试机): serial0.present = "TRUE" serial0.fileType = "pipe" serial0.startConnected = "TRUE" serial0.fileName = "/Users/jibin/Downloa

CentOs下编译linux内核

● centos 7编译高版本内核: linux-3.13.10 过程相对简单: 1. 安装依赖 yum install ncurses-devel 2. 将linux内核解压缩到/usr.src/ 3. make 4. make modules_install 5. make install 6. 重起

VELT-0.1.6开发:在VS2013下用QEMU调试x86 Linux内核

快乐虾 http://blog.csdn.net/lights_joy/(QQ群:Visual EmbedLinux Tools 375515651) 欢迎转载,但请保留作者信息 VELT的全称是Visual EmbedLinuxTools,它是一个visual studio插件,用以辅助完成Linux开发.利用这个插件,将可以在visualstudio的IDE中进行Linux应用程序的开发(包括编译和调试),也可以进行uboot和linux内核的编译和调试,并根据编译时的错误信息正确定位到源码

VELT-0.1.5开发:在VS2013下进行python开发

快乐虾 http://blog.csdn.net/lights_joy/(QQ群:Visual EmbedLinux Tools 375515651) 欢迎转载,但请保留作者信息 本文仅适用于vs2013 + velt-0.1.5 VELT的全称是Visual EmbedLinuxTools,它是一个visual studio插件,用以辅助完成Linux开发.利用这个插件,将可以在visualstudio的IDE中进行Linux应用程序的开发(包括编译和调试),也可以进行uboot和linux内

VELT-0.1.5开发:在vs2013下编译gdb

VELT的全称是Visual EmbedLinuxTools,它是一个visual studio插件,用以辅助完成Linux开发.利用这个插件,将可以在visual studio的IDE中进行Linux应用程序的开发(包括编译和调试),也可以进行uboot和linux内核的编译,并根据编译时的错误信息正确定位到源码.目前的版本是0.1.4,仅支持vs2013.此插件可以在CSDN下载频道下载(http://download.csdn.net/detail/lights_joy/8429771),

用VS2013+VELT-0.1.4进行海思平台 Linux内核 的开发

快乐虾 http://blog.csdn.net/lights_joy/(QQ群:Visual EmbedLinux Tools 375515651) 欢迎转载,但请保留作者信息 本文仅适用于vs2013 + velt-0.1.4 1.1    什么是VELT VELT的全称是Visual EmbedLinuxTools,它是一个与visual gdb类似的visual studio插件,用以辅助完成Linux开发.利用这个插件,将可以在visual studio的IDE中进行Linux应用程序