尝试调试时功能不正确。 [英] Incorrect function while trying to debug.

查看:86
本文介绍了尝试调试时功能不正确。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用
imdisk ,RAM中的虚拟磁盘模拟器。

I am using imdisk, virtual disk emulator in RAM.

它可以创建虚拟驱动器,为其分配一个字母,例如T:,然后你可以格式化ramdrive T:作为NTFS卷,并使用像普通的驱动器,但具有极高的R / W速度和超低的延迟。

It could create virtual drive, assign it a letter, for example T:, then you can format ramdrive T: as NTFS volume, and use like a regular drive, but with extreme R/W speeds and ultra low latencies.

我总是指向那里的VS,到t:\\\ ...输出吨中间数据,以及t:\ bin ...在RAM编译的二进制文件中创建,因为您可以经常重新编译它等等。这只是加快速度,也有助于节省宝贵的SSD周期。

I am always pointing VS up there, to t:\inter\... to outputs tons of intermediate data, and to t:\bin... to create in RAM compiled binaries, as you can recompile it often and so on. That is just speeds up things, also tends to save precious SSD cycles.

在VS社区2015之前的Visual Studio版本中它非常有用好吧。

In previous versions of visual studio like VS Community 2015 it worked very well.

现在我已经多次安装了VS 2017。我在不同的ose上测试了它 - win7 / win10(x64)。

Now i installed VS 2017 several times. I tested it on different oses - win7/win10 (x64).

我做了干净安装,我和VS 2015一起安装。

I did either clean install, and i installed it alongside with VS 2015.

暴露所有相同的行为。很容易重现。

Exposes all the same behaviour. Quite easy to reproduce.

安装imdisk,创建ram驱动器T,大小1gb(足够),作为可移动媒体(可以免费)内存与Windows弹出函数)。

Install imdisk, create ram drive T, size 1gb(enough), as removable media(to be able to free memory with windows Eject function).

格式化NTFS与默认簇大小(通常为4k)

Format al NTFS with default cluster size(usually 4k)

安装VS2017,最充分的开发 - C ++ as它总是用于和 nesesary SDKs。

Install VS2017, with most adequate developement - C++ as it always been used for and nesesary SDKs.

然后创建 Visual C ++ > ; 清空项目
,名称为  testProject1

Then created Visual C++ > Empty Project with the name testProject1

项目  ettings设置如下:

Project  settings set as following:


  • 输出目录: t:\ bin。$(平台)
  • 中级目录: t:\\\ $(ProjectName)。$(平台)。$(配置)
  • 目标名:  $(项目名)$(平台)$(配置)
  • Output directory: t:\bin.$(Platform)
  • Intermediate directory: t:\inter\$(ProjectName).$(Platform).$(Configuration)
  • Target name: $(ProjectName).$(Platform).$(Configuration)

添加以下内容的Source.cpp:int main(){return 0;设置断点。

add Source.cpp of following content: int main() { return 0; }, set a breakpoint.

选择x64 debug,尝试运行调试器并捕获断点

select x64 debug, try to run debugger and catch a breakpoint





  • 编译良好 - 创建二进制可执行文件(可从资源管理器中启动)
  • 本地Windows debuger失败,并出现以下消息框错误:  无法启动程序't:\bin.x64 \ testProject1.x64.Debug.exe'。

功能不正确。

如果我将输出目录更改为 c:\ bin。$(平台)

(其中c:只是一个真正的本地硬盘驱动器)

(where c: is just a real local HDD)


  • 它将正常启动调试会话!!!

然后我发现了一个 办法!在调试部分,我更改了
命令 
从默认值

                  $(TargetPath)

to

to

                  t:\ bin。$(平台)\ $(ProjectName)。$(平台)。$(配置)

                  t:\bin.$(Platform)\$(ProjectName).$(Platform).$(Configuration)

< span style ="font-size:0.75em">哦天啊!它工作!

那么谁负责?它绝对是一个BUG

我想


  • 以某种方式传递给开发团队的错误。
  • 关于谁负责编码错误的事情,在很久以前ALREDY工作的事情就是他们的责任。

实际上,VS2015只需使用    $(TargetPath)
命令

Really, VS2015 works very well just with  $(TargetPath) in Command

新的安装程序很棒,但破坏的调试器是个坏主意..

New installer is amazing, but broken debugger was bad idea..

PS。   这里是   有点
相关问题,也许我可以也有帮助,问题的根源似乎是相同的

PS. here is  somewhat related question, maybe i can be helpful for that too, roots of a problem seem to be same







推荐答案

你好xakepp35,

Hi xakepp35,

由于它在VS2015中运行良好,但VS2017存在此问题,我建议您直接在此处向产品团队报告此问题:

Since it works well in VS2015, but VS2017 has this issue, I suggest you report this issue to the product team directly here:

https://developercommunity.visualstudio.com/spaces/8/index.html

最诚挚的问候,

杰克


这篇关于尝试调试时功能不正确。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆