我有2个文件,包含以下简单代码。
Linkertest.cpp
#include "stdafx.h"
#include "Foobar.h"
char x = 5;
char y = 5;
int main()
{
ChangeX();
x = 'a';
return 0;
}
和Foobar.cpp
#include "stdafx.h"
int x;
void ChangeX()
{
x = -1;
}
foobar.h中
#pragma once
extern void ChangeX();
在Visual Studio 2015调试器中执行此代码时,调试器窗口选择显示 int x 的值; (忽略 char x )。 (我知道这不是一件好事)。看一下反汇编(和映射文件),我可以看到链接器正确地给了int x和char x单独的内存分配,并正确地写入它们。有没有人知道让调试器显示char x值的方法?
由于
答案 0 :(得分:1)
我使用VS2015和VS2017进行测试。
VS2015确实存在这个问题:
但它现在在VS2017中效果很好:
所以对于这个问题,如果可能的话,我建议你使用VS2017版本。
当然,如果您只需使用VS2015,您也可以在此处报告此反馈:
https://connect.microsoft.com/VisualStudio/feedback/CreateFeedback.aspx