小编nie*_*iro的帖子

在Visual Studio中调试转储文件

我使用的是Visual Studio 2010专业版和Windows Vista.

首先,我有这个代码.如你所见,它会使程序崩溃!

using System;

namespace Crash
{
    class Program
    {
        static void Main(string[] args)
        {
            string a = null;

            if (a.Length == 12)
            {
                // ^^ Crash
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

该程序将在if语句中崩溃.现在,我想知道它在if语句中崩溃了.

如果我从Visual Studio"开始没有调试",Crash.exe崩溃.它使用1,356kb的内存.我得到了Close Program/Debug的Vista选项.如果我选择Debug,我可以打开一个新的Visual Studio实例,它指向if语句的NullReferenceException.这很好.

现在让我假设它在另一台计算机上崩溃了,我让他们通过任务管理器给我一个转储文件.它是54,567kb.为什么这么大!这是巨大的!无论如何,我对此不太感兴趣(略)

如果我用Windbg打开那个转储,我对未经训练的眼睛几乎没有用处:

Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
Copyright (c) Microsoft Corporation. All rights reserved.


Loading Dump File [C:\Users\Richard\Desktop\Crash.DMP]
User Mini Dump File with Full Memory: Only application data is available

Symbol search path is: SRV*C:\SYMBOLS*http://msdl.microsoft.com/download/symbols
Executable search path is: …
Run Code Online (Sandbox Code Playgroud)

c# debugging crash-dumps visual-studio-2010

50
推荐指数
3
解决办法
4万
查看次数

如何在源代码中查找所有非Unicode函数调用

在我的源代码中,我一直非常小心地使用Unicode,总是调用WinAPI函数的宽版本,在我的转换中非常小心等等,以支持我的程序的许多用户使用非英文版本的Windows.

但是错误渐渐蔓延,我相信你们都能理解.我最近遇到程序崩溃,在我的代码中只有一个地方,我调用了函数"isspace"而不是"iswspace".

是否有一些工具允许我扫描我的所有ANSI函数调用的源代码,希望找到可能存在的更多错误?

谢谢.

c++ unicode winapi

6
推荐指数
1
解决办法
230
查看次数

我可以在不询问用户的情况下发送异常报告吗?

我写的是中小型应用程序,其中很多都是我发布到Internet上的.希望一切顺利,但如果发生一些不可思议的可怕灾难,我会悄悄提交该报告吗?

我可以尽一切努力删除帐户名称,我可能只会收集异常文本.

当然用户不知道刚被发送的东西不能伤害他们,或者我和我的程序.

到目前为止,用户必须手动向我报告错误,但如果可以的话,我想摆脱这个问题,我只想知道你是否认为我可以逃脱这个,以及你们做了什么.

非常感谢提前!

c# exception-handling exception

3
推荐指数
1
解决办法
184
查看次数