导航网站的好处,wordpress多用户评论,工程建设最好的网站,南宁制作网站企业从Visual Studio到Linux上调试C代码04/30/20155 分钟可看完本文内容[原文发表时间] 2015/4/29 10:00 PM正如您可能已经听说的那样#xff0c;Visual Studio 2015新推出了对Android开发的GDB支持。有趣的是#xff0c;因为这项功能依赖GDB调试#xff0c;我们完全可能稍加改动…从Visual Studio到Linux上调试C代码04/30/20155 分钟可看完本文内容[原文发表时间] 2015/4/29 10:00 PM正如您可能已经听说的那样Visual Studio 2015新推出了对Android开发的GDB支持。有趣的是因为这项功能依赖GDB调试我们完全可能稍加改动就实现针对其他同样支持GDB的平台(如Linux和Raspberry Pi)做代码调试。在这篇博客中我将会分享在LinuxRaspberry Pi上远程调试C代码的步骤。因为这套方法是我在最初专门为Android设计的实施上修改得来它有一定的局限性但是它显示了这项功能的潜力。这是我们为什么对GDB实施开源的一个很好的例子。还请注意这不是一个交叉编译方案。您需要在Visual Studio中编辑源码再拿到Linux机器去编译。一旦配置好了之后您就可以触发断点以及逐行调试源代码除了对SSH连接做正确的设置以外不需要其他附加工作。以下是步骤下载Visual Studio 2015 RC。安装类型中选择自定义安装并且选中交叉平台手机开发下面的Visual C手机开发。从Putty下载站点中下载plinkputtypscp和puttygen。设置SSH连接到您的Linux安装使用证书身份验证。关于此项的一个不错的概览是在Azure上链接Linux的SSH使用指南。这些指南总体上足够涵盖从Windows连接到任何Linux机器而不仅仅是那些运行Azure的机器。通过Putty从您的Windows机器连接到Linux机器。系统将提示您的服务器主机密钥不在注册表中。选择yes以将其添加到注册表以使得主机受信。如果您不这样做您将在后面得到一个错误提示但它并不能清晰地指明问题所在。您需调试的代码要放在本地机的C Makefile 工程项目里。您将需要创建一个xml配置文件用来指定plink在哪儿您的连接信息在远程机器上的exe文件地址以启动GDB。以下是一个示例。PipePathplink.exe PipeArguments-i private.ppk userserver -batch -t gdb --interpretermiExePath/home/user/YourDir/exe ExeArgumentsTargetArchitectureX64 WorkingDirectory/home/user/YourDir AdditionalSOLibSearchPath7. 打开命令提示符窗口在Visual Studio菜单中选择视图-其他窗口-命令提示符窗口。8. 通过以下命令传递您的配置文件Debug.GDBLaunch /OptionsFile:[path] /Executable:foo9. 享受在Linux上用VS2015远程调试您的C程序吧如果您想让事情更加简单在第5步您可以在Makefile项目中指定以下命令为构建命令。远程复制您的文件pscp.exe -i private.ppk -r YourDir userserver:/home/user远程编译plink.exe userserver -i private.ppk cd ~/YourDir; g -g yourcode.cpp -o yourexecutable鉴于我上述的仅仅是对未来的预览以下是一些已知问题在开始以上的第8步后你将遇到一个错误信息“无定义命令gdb”。一旦连接建立我们的调试引擎试图开始gdb但是我们已经通过配置文件参数开始了调试。如果我们不是以这样的方式开始就不能正确建立起到GDB的连接并且将孤立的gdb进程遗留在目的机上。即使您在上面建立断点进入Main函数后的第一个代码语句总会错过。无需输入可执行文件的执行参数因为执行参数应该已经包含在选项文件中了所以即使输入也不会被使用。由于不支持交叉编译您需要把您的工具链和gdb安装在Linux目标机上。如果您感觉这篇博客很有用或者您在使用中遇到任何问题请在下面评论让我们知道。我们也欢迎任何有助于提升的建议。