当我尝试调试此代码时:
// POST: api/Events
[HttpPost]
public async Task<IActionResult> PostEvent([FromBody] object savedEvent)
{
Event addedEvent = JsonConvert.DeserializeObject<Event>(savedEvent.ToString());
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
无法击中这一行:
Event addedEvent = JsonConvert.DeserializeObject<Event>(savedEvent.ToString());
Debuger反应就像我点击继续但代码过去没有执行。我真的很困惑。谢谢你的帮助。
答案 0 :(得分:6)
答案 1 :(得分:3)
尝试删除操作的异步部分。这不是一个永久的解决方案,但它可以帮助您调试。我建议的另一件事是在你的行动中尝试捕捉代码。您的反序列化可能会失败并抛出一个异常,无论出于何种原因,调试器都没有捕获。
"use strict";
angular.module("gestione")
.config(["$stateProvider", "$urlRouterProvider", "$ionicConfigProvider", "$httpProvider", "$ionicNativeTransitionsProvider",
function ($stateProvider, $urlRouterProvider, $ionicConfigProvider, $httpProvider, $ionicNativeTransitionsProvider) {
// if none of the above states are matched, use this as the fallback
$urlRouterProvider.otherwise("/tab/login");
$stateProvider
// setup an abstract state for the tabs directive
.state("tab", {
url: "/tab",
abstract: true,
templateUrl: "templates/tabs.html"
})
// Each tab has its own nav history stack:
.state("tab.lastscan", {
url: "/lastscan",
cache: false,
nativeTransitions: {
"type": "filp",
"direction": "up"
},
views: {
'tab-left': {
templateUrl: "templates/tab-lastscan.html",
controller: "LastScanCtrl",
controllerAs: "lastscan"
}
}
})
.state("tab.menu", {
url: "/menu",
views: {
'tab-right': {
templateUrl: "templates/tab-menu.html",
controller: "MenuCtrl"
}
}
})
.state("tab.settings", {
url: "/settings",
cache: false,
views: {
'tab-off': {
templateUrl: "templates/settings.html",
controller: "SettingCtrl",
controllerAs: "settingCtrl"
}
}
})
;
}]);
答案 2 :(得分:2)
您可能正在以“发布”模式运行应用程序而不是“调试”。
您无法在“发布模式”中设置断点(大多数情况下)。
符号(.pdb)文件中有什么内容?符号文件的确切内容 因语言和编译器而异 设置,但在很高的水平,他们是如何设置的记录 编译器将您的源代码转换为处理器的机器代码 执行。
答案 3 :(得分:0)
我发现有时清洁和重建有助于破解断点。如果这没有帮助,重启Visual Studio也会有所帮助(特别是在2015年,至少根据我的经验)。
除此之外,我还遇到了内存泄漏的问题,导致我的应用程序只是输入到我的代码的某些部分,尽管这通常伴随着应用程序崩溃。
你没有提到任何错误或崩溃,只是代码没有执行,所以我不确定内存泄漏是否会导致你的问题。
答案 4 :(得分:0)
尝试怎么样:
System.Diagnostics.Debugger.Launch();
启动并将调试程序附加到进程。 至少要确保你进入那里。