我正在使用Visual Studio 2015编写一个小型Linux应用程序。为此,我使用的是Visual Studio 2015 Linux Extension,v 1.0.7(最新版本,因为我正在写这篇文章)。
我可以使用gdbserver
在远程环境中编译和运行应用程序,但我无法使用断点。我不明白为什么。
详情:
目标环境是一个远程Ubuntu 64,今天已升级g++
,gdb
和gdbserver
。
在这种意义上,扩展可以正常地将C ++代码发送到远程环境,并在按下F7时正确编译:
当我运行代码时,使用gdbserver远程正确执行代码:gdbserver
正确地发送回输出,因为我可以在VS的Linux控制台窗口中查看它。
我的问题:当我在代码中设置断点时(如上面代码的第7行),它被忽略了。当我按F11直接启动调试时,程序运行就好像我没有调试一样。
我想知道这是否与上面的debugging from host 127.0.0.1
消息有关。
当然,我在尝试时处于调试模式:
gdbserver
替换为gdb
,并且使用F10
(或任何其他步进选项),我可以进行一步一步的调试),而不是F5
,开始调试。缺点是我丢失了Linux控制台,但仍然无法设置断点,它们会被忽略。我必须在整个执行路径中步骤:这是我第一次使用远程环境尝试此Linux扩展。我以前和当地的Cygwin一起使用它并且没有断点问题。但这是Visual Studio 2015 Linux Extension的先前版本(1.05),所以这并不能证明什么。
有什么想法吗?