我疯了吗?我一直都能相信调试器吗?
事实证明,在与VS2015的调试会话期间,当我例如在立即窗口中更改变量的值时,该分配将导致"垃圾"分配的价值。它每次都是相同的垃圾值,但完全错误。
我已经将它提炼到最简单的控制台应用程序repro,以防万一你可能认为同意我对疯狂的自我评估,我还做了一个截图视频剪辑它出错了
你们是否也遇到了这个问题,或者这是一个本地机器问题?
以下是一个驱动器链接:
PS:我正在运行Windows 10 Enterprise x64,VS2015 Enterprise,其中包含适用于OS和VS的所有当前更新。底层硬件是现代硬件,我在VS2013下没有任何问题。
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
<script src="//ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js"></script>
<script src="//ajax.aspnetcdn.com/ajax/mvc/4.0/jquery.validate.unobtrusive.min.js"></script>
<script type="text/javascript">
$(function () {
$("#sendContactForm").submit(function (e) {
//get the action-url of the form
var $form = $(e.target),
formData = new FormData($('form').get(0));
//prevent Default functionality
e.preventDefault();
if ($form.valid()) {
$("#SendMessage").attr("disbled", true);
$("#SendMessage").prop("value", "Sending...");
$("#sending").css("display", "block");
$("#MessagdSent").html(" ");
//do your own request an handle the results
$.ajax({
url: $form.attr('action'),
data: formData,
cache: false,
contentType: false,
processData: false,
type: 'POST',
success: function (result) {
successfulSend(result);
resetForm($form)
},
error: function (result) {
failedSend(result);
}
});
}
function resetForm(form) {
form.find('input:text, input:password, input:file, select, textarea').val('');
}
//function that is called when the message is successfully sent
function successfulSend(result) {
//enable the send button
$("#SendMessage").attr("disbled", false);
//hide the sending gif
$("#sending").css("display", "none");
//change the text on the button back to Send
$("#SendMessage").prop("value", "Send");
//set focus to the from email address textbox
$("#From").focus();
$("#MessageSent").html(result.Message);
}
//call this function if for some reason the send fails
function failedSend(result) {
$("#SendMessage").attr("disbled", false);
$("#sending").css("display", "none");
$("#SendMessage").prop("value", "Send");
$("#MessageSent").text(result.ErrorMessage);
}
});
});
</script>
}
我将开始为VS Connect问题整理相同内容。
编辑:我开始怀疑这对我来说是否只是一个问题,因为没有人确认这种情况也会发生。
编辑:连接问题已归档here。
答案 0 :(得分:4)
我可以在安装Visual Studio 2015时确认类似的情况 我也在Visual Studio 2013中运行了相同的代码(幸运的是,当我升级时,我没有卸载)并且它不会发生在那里:
所以是的,好像你刚刚发现了Visual Studio 2015中的一个错误(我的机器运行的是Windows 7 Pro,所以这不是Windows 10的问题)。不幸的是,我缺乏专业知识来评论你的心理健康,因此不要对这方面做出任何假设: - )
答案 1 :(得分:1)
这里有类似的问题。只需要一个类和目标.NET 3.5
public class DoSomething
{
public void Makeit()
{
// Set Breakpoint here
SortedList<string, string> sortedList = new SortedList<string, string>();
sortedList.Add("test", "1");
sortedList.Add("test2", "2");
//when breakpoint hits, uncomment the next line and press F5
//sortedList.Add("test4", "5");
//Exception
class Program
{
static void Main(string[] args)
{
TestLibrary.DoSomething bla = new TestLibrary.DoSomething();
bla.Makeit();
}
}
[]