小编cra*_*ice的帖子

我在哪里可以找到Visual Studio Express可执行文件?

我在Windows 8.1 PC上安装了visual studio 2013 express版.然后我安装了VS 2013专业版.现在我想运行快速版来验证express和pro之间可用的某些功能,但是我找不到如何启动快速版本.每当我通过Windows 8.1搜索框搜索它时,我只是获得专业版.

任何人都可以指向我安装快速版本可执行文件的位置,以便我可以启动它吗?VS安装在C:\Program Files (x86)\Microsoft Visual Studio 12.0,我假设它在这里我应该安装快递和专业版本.

visual-studio-2013 windows-8.1

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

为什么psscor4命令不会运行

出于某种原因,我加载psscor4后无法运行任何命令.我从MS网站下载了x64的psscor4,并把它放在windbg所在的同一文件夹中.在加载psscor4之前,我可以毫无问题地运行sos命令.

0:003> .loadby sos clr

0:003> lmvm clr
start             end                 module name
00007ffa`35630000 00007ffa`35fc8000   clr        (deferred)             
    Image path: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll
    Image name: clr.dll
    Timestamp:        Wed Nov 27 19:25:30 2013 (52968D7A)
    CheckSum:         00996ED8
    ImageSize:        00998000
    File version:     4.0.30319.34011
    Product version:  4.0.30319.34011
    File flags:       8 (Mask 3F) Private
    File OS:          4 Unknown Win32
    File type:        2.0 Dll
    File date:        00000000.00000000
    Translations:     0409.04b0
    CompanyName:      Microsoft Corporation
    ProductName:      Microsoft® .NET Framework
    InternalName:     clr.dll
    OriginalFilename: clr.dll
    ProductVersion:   4.0.30319.34011
    FileVersion:      4.0.30319.34011 built by: FX45W81RTMGDR
    PrivateBuild:     DDBLD109
    FileDescription: …
Run Code Online (Sandbox Code Playgroud)

.net c# windbg sos sosex

6
推荐指数
2
解决办法
1466
查看次数

由于变量为NULL,避免IF ELSE

我有一些代码,其中WHERE子句中使用的变量可以为空.因此,我必须使用IF ELSE查询数据以检查NULL.无论如何在一个查询中写入?

DECLARE @OrderID UNIQUEIDENTIFIER

IF @OrderID IS NULL 
BEGIN
    SELECT * 
    FROM Customers
    WHERE OrderID IS NULL
END
ELSE
BEGIN
    SELECT * 
    FROM Customers
    WHERE OrderID = @OrderID
END
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server-2008

5
推荐指数
1
解决办法
713
查看次数

当一个线程因断点而冻结时,是否可以让其他线程继续运行

我对调试过程和调试器的理解是,当一个断点被击中时,所有其他线程都被冻结.但是我的一位同事说这个选项是可配置的,这意味着你可以在Visual Studio选项的某个地方配置其他线程(没有断点)继续正常工作,尽管带有断点的线程被冻结.我在visual studio中找不到任何这样的设置,加上我的同事不记得他在哪里看到那个设置,尽管他似乎非常有信心这个选项存在.

有人可以确认,当一个线程由于断点而被冻结时,是否有可能让其他线程运行?如果有这样的设置,请告诉我在哪里找到它.

debugging multithreading breakpoints visual-studio visual-studio-2012

5
推荐指数
1
解决办法
651
查看次数

约50%的.NET堆可用对象。如何知道是什么导致OOM

我试图确定是什么导致我的应用程序高内存使用率。所以我拿了进程转储文件。EEHeap命令显示.NET内存堆中大约有2.8 GB。

0:000> !EEHeap -gc
Number of GC Heaps: 2
------------------------------
Heap 0 (00000000001e3030)
generation 0 starts at 0x00000000a5f21360
generation 1 starts at 0x00000000a5c45a60
generation 2 starts at 0x000000007fff1000
ephemeral segment allocation context: none
 segment     begin allocated  size
000000007fff0000  000000007fff1000  00000000beeca248  0x3eed9248(1055756872)
Large object heap starts at 0x000000027fff1000
 segment     begin allocated  size
000000027fff0000  000000027fff1000  000000028f7d42f8  0xf7e32f8(259928824)
Heap Size:               Size: 0x4e6bc540 (1315685696) bytes.
------------------------------
Heap 1 (00000000001ed9e0)
generation 0 starts at 0x00000001a6c77908
generation 1 starts at 0x00000001a69a8370
generation 2 starts at …
Run Code Online (Sandbox Code Playgroud)

.net garbage-collection out-of-memory sos sosex

5
推荐指数
1
解决办法
958
查看次数

为多个数据库创建登录

我需要创建一个新用户,然后将权限设置为两个不同数据库中的不同表.这是我创建用户的脚本

CREATE LOGIN [MyUser] WITH PASSWORD=N'something' , CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO

CREATE USER [MyUser] FOR LOGIN [MyUser] WITH DEFAULT_SCHEMA=[dbo]
GO

CREATE ROLE MyRole AUTHORIZATION [dbo]
GO

EXEC sp_addrolemember N'MyRole', N'MyUser'
GO
Run Code Online (Sandbox Code Playgroud)

现在我有两个数据库MyDb1和MyDb2.我需要为此用户授予对MyDb1.Table1和MyDb2.Table2的select访问权限.我是否需要先为MyDb1和MyDb2创建此用户?如果是这样,怎么能实现呢?

t-sql sql-server-2008

4
推荐指数
1
解决办法
1260
查看次数

OutOfMemoryException - 这是一个误报警

我的转储文件包含OutOfMemoryException,但所有对象字段似乎都为null.这只是一个误报,还是有人知道这个例外?

0:052> !do 000000027fff10e8 
The version of SOS does not match the version of CLR you are debugging.  Please
load the matching version of SOS for the version of CLR you are debugging.
CLR Version: 4.0.30319.18449
SOS Version: 4.0.30319.34011
Name:        System.OutOfMemoryException
MethodTable: 000007fcb5476920
EEClass:     000007fcb4f3cd88
Size:        160(0xa0) bytes
File:        C:\Windows\Microsoft.Net\assembly\GAC_64\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll
Fields:
              MT    Field   Offset                 Type VT     Attr            Value Name
000007fcb5476508  4000002        8        System.String  0 instance 0000000000000000 _className
000007fcb547e880  4000003       10 ...ection.MethodBase  0 instance 0000000000000000 _exceptionMethod
000007fcb5476508  4000004       18        System.String  0 …
Run Code Online (Sandbox Code Playgroud)

windbg exception out-of-memory sos

4
推荐指数
1
解决办法
107
查看次数

无法将类型'void'隐式转换为'System.Threading.Tasks.Task'

这是我的代码的简化版本,下面是生成以下编译错误

无法将类型'void'隐式转换为'System.Threading.Tasks.Task'

在这种情况下,GetDataAsync方法不需要返回任何内容.如何让它返回我可以等待的任务?

static async void Run()
{
    List<string> IDs = new List<string>() { "a", "b", "c", "d", "e", "f" };
    Task[] tasks = new Task[IDs.Count];
    for (int i = 0; i < IDs.Count; i++)
        tasks[i] = await GetDataAsync(IDs[i]);

    Task.WaitAll(tasks);    
}

async static Task GetDataAsync(string id)
{
    var data = await Task.Run(() => GetDataSynchronous(id));
    // some other logic to display data in ui
}
Run Code Online (Sandbox Code Playgroud)

.net c# task task-parallel-library async-await

4
推荐指数
1
解决办法
9948
查看次数

我对dumpheap和gcroot的理解不正确

我的理解是!dumpheap命令列出了.NET堆中存在的所有非垃圾回收对象.在这种情况下,如果我对一个对象地址运行!gcroot命令(通过!dumpheap -mt XXX找到),它应该总是给我一个引用该对象的堆栈跟踪.但是我找到了一些例子,我可以找到!dumpheap中列出的对象的根.是我的理解!dumpheap和!gcroot不正确?如果您想查看示例,请在此处发布我在其他问题中描述的示例

.net garbage-collection windbg sos

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

确定从转储文件中引发异常的线程

让\xe2\x80\x99s 说我的应用程序有两个线程A 和B,每个线程都会抛出异常。~{threadid}s我可以通过使用然后运行来确定哪个线程引发了哪个异常吗!pe

\n

c# multithreading windbg exception sos

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