将PDB放在错误的位置很容易,通常您只想简单地解决问题并再次运行应用程序.但是,如果应用程序崩溃并附加调试器进行调查,并且未加载符号,该怎么办?你能指点VC++吗?
我有一些大量的数据结构导致我的VB.NET应用程序出现问题.抛出异常并且应用程序暂停后,我想运行一些代码,如:
For Each o As MyClass In myObjects
If o.property = "value" Then debug.print(o.id)
Next
Run Code Online (Sandbox Code Playgroud)
诊断问题.
问题是,即时窗口不会让我执行循环,并且该myObjects集合包含太多的对象,我无法手动找到我想要的有问题的对象.
在调试器暂停时如何找到此对象?在.NET IDE中,这可能是类似的吗?
.net ide debugging visual-studio-2010 visual-studio-debugging
我有一个有趣的问题.
是否可以识别程序集是否在Visual Studio中运行?
请查看以下代码.
if(FoundThatYouAreDebuggingInVisualStudio)
{
Print "Hello"
}
else
{
Print "Hi"
}
Run Code Online (Sandbox Code Playgroud)
上面的代码存在于.NET程序集(比如XYZ)中,它是在发布模式下构建的.用户正在调试他/她的应用程序(例如ABC),它引用了XYZ程序集.
我需要确定用户是否在Visual Studio中进行调试,或者他只是在运行ABC应用程序.
有任何想法吗?
-D
c# visual-studio-2010 release-mode visual-studio visual-studio-debugging
是否可以使用Visual Studio 2010和Firefox在Razor视图中删除JavaScript代码?如果是这样,我该怎么办?
我想在我的ASP.NET WebForms应用程序(VS 2008)中使用不同版本的.js javascript文件:
有没有办法在调试时自动获取完整版本,并在应用程序部署到生产时缩小版本?我不介意答案是否是黑客.
在VS 2010中有可能吗?
javascript asp.net debugging visual-studio visual-studio-debugging
当我在VS2012中调试我的应用程序并且它崩溃时,输入(鼠标和键盘)开始非常滞后,fps降至约0.3或更低,我甚至无法移动鼠标而不等待3秒......唯一的解决方案是做Shift-F5,这将结束调试,然后每一个都很好.
更有趣的是,唯一滞后的是输入,整个背景工作得很好,文本插入符号以正常速率闪烁,当鼠标越过按钮时工具提示很好地动画.
我用allegro 4.2编译项目(我必须使用它,解释原因需要很长时间).
我没有扩展,一个非常快的pc应该能够处理调试...
我对任何解决方案感兴趣,它可能是脏/ hackish ...我当然可以提供更多信息,如果需要的话.
谢谢你的帮助.
编辑:通过论坛阅读我发现了一些关于"自动"窗口的信息或类似的东西(不记得确切,再也找不到它),这是做一些"后台任务",导致滞后......你认为在单独的核心上运行它会解决这个问题吗?
lag visual-studio visual-studio-debugging visual-studio-2012
在下图中,您可以看到我正在调试我的代码并且y1应该定义变量.但是,我没有得到任何例外,变量似乎不存在!为什么visual studio不能识别我的变量?我相信我的装置一定有问题; 谁能确认吗?

通常,当我需要在Windows中进行调试输出时,我使用以下C代码段:
#ifdef _DEBUG
#define DBGPRINT( kwszDebugFormatString, ... ) \
{ \
wprintf_s( L"[%s:%d] ", __FUNCTIONW__, __LINE__ ); \
wprintf_s( kwszDebugFormatString, __VA_ARGS__ ); \
}
#else
#define DBGPRINT( kwszDebugFormatString, ...) ;;
#endif
Run Code Online (Sandbox Code Playgroud)
我想重新编码使用OutputDebugString不接受格式字符串.我认为静态地在堆栈上分配一个小数组(例如WCHAR wszBuf[100] = {0};)有些粗糙,因为它可能消耗比分配的内存更多或更少的内存,并截断输出或浪费内存.我编写了以下代码来解决所有这些问题,但我担心因为宏有点大.
#ifdef _DEBUG
#define DBGPRINT( kwszDebugFormatString, ... ) \
{ \
INT iLineNumber = __LINE__; \
FILE *fileNul = NULL; \
INT cbFormatString = 0; \
PWCHAR wszDebugString = NULL; \
size_t st_Offset = 0; \
\
/* Determine the number of …Run Code Online (Sandbox Code Playgroud) c debugging winapi visual-studio-debugging visual-studio-macros
看起来F#调试器在VS 2015中无法正常工作.让我在简单的控制台程序上进行说明:
let f1 =
printf "hello 1"
printf "hello 2" //1
[<EntryPoint>]
let main argv =
f1 //2
0
Run Code Online (Sandbox Code Playgroud)
我在第1行和第2行设置断点并启动调试器.
被击中的第一个BP是// 1,而它应该是// 2.这是为什么?
此时此刻我无法导航到callstack的最顶层.即当我双击callstack条目时,它应该导航我行// 2 VS告诉我"Source Not Available".这是为什么?
这两个问题并没有阻止我调试,但仍然让人很不高兴.
我正在调试VS Code中的c ++代码,但它不会在断点上停止并可视化变量,监视和调用堆栈,它本应该这样做.而不是这个,它在调试控制台中打印:
Breakpoint 1, 0x000000000040074a in main ()
[Inferior 1 (process 9445) exited normally]
The program '/home/hashir/x/a.out' has exited with code 0 (0x00000000)
Run Code Online (Sandbox Code Playgroud)
这是launch.json文件:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "/home/hashir/x/a.out",
"args": [],
"stopAtEntry": false,
"cwd": "/home/hashir/x/",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing …Run Code Online (Sandbox Code Playgroud) debugging ×4
c# ×2
javascript ×2
.net ×1
asp.net ×1
c ×1
c++ ×1
f# ×1
firefox ×1
ide ×1
lag ×1
release-mode ×1
visual-c++ ×1
winapi ×1