小编JMa*_*sch的帖子

冻结VS2010中断点上的所有线程

我正在使用VS2010 Beta 2来调试一些多线程代码.喜欢并行堆栈等

我有一个问题:我在一个可能被多个线程调用的方法中设置断点.一旦我达到了断点,我真的希望将重点放在触发该断点的线程上.但是,当我点击"step"时,VS经常切换到另一个线程(比如我在线程1上停止了,但同时,线程2击中了我的断点).

我知道我可以手动冻结线程窗口中的线程.有没有办法自动完成 - 基本上,一旦我遇到断点,冻结除当前线程之外的所有线程,直到我击中F-5?

debugging visual-studio-2010 visual-studio visual-studio-debugging

10
推荐指数
2
解决办法
6116
查看次数

如何从PowerShell获取文件的实际磁盘大小?

我正在编写一个管理脚本,我需要计算磁盘上文件的大小.

这些文件位于压缩的NTFS卷上.

我无法使用FileInfo.Length,因为这是文件大小而不是磁盘上的大小.例如,如果我有一个100MB的文件,但由于NTFS压缩它只使用25MB,我需要我的脚本返回25MB.

有没有办法在Powershell中做到这一点?

(我知道GetCompressedFileSize()Win32的调用,但我希望这已经在某种程度上受到了影响.)

.net powershell

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

数据库中的原子比较和交换

我正在研究工作排队解决方案.我想查询数据库中的给定行,其中状态列具有特定值,修改该值并返回行,我想以原子方式执行,以便其他任何查询都不会看到它:


begin transaction
select * from table where pk = x and status = y
update table set status = z where pk = x
commit transaction
--(the row would be returned)

2个或更多并发查询必须不能返回该行(一个查询执行会看到该行,而其状态= y) - 有点像互锁的CompareAndExchange操作.

我知道上面的代码运行(对于SQL服务器),但交换总是原子的吗?

我需要一个适用于SQL Server和Oracle的解决方案

sql database sql-server oracle

8
推荐指数
2
解决办法
4355
查看次数

Visual Studio:查看完整的git提交历史记录(包括重命名)

我正在使用Visual Studio 2015和Microsoft Git客户端.我在使用工具查看历史记录和注释时遇到了一些问题,因为Visual Studio在查看git历史记录时似乎没有处理文件重命名.这有什么好办法吗?

顺便说一句:我尝试在历史记录查看器中使用"显示完整历史记录"工具按钮,但它仍然没有显示重命名的历史记录

这是我测试的内容:

  1. 在Visual Studio中,我右键单击该文件并选择"查看历史记录".(它只显示了4次提交)
  2. 在历史窗口中,我点击了"显示完整历史记录" - 仍然是相同的4次提交.
  3. 从git命令行,我运行git log --follow TheFile.cs(它产生了13次提交)
  4. 在Atlassian Source Tree中,我提取了该文件的日志,并检查了"Follow Renamed Files"选项.它提取了与命令行相同的13次提交.

我真正想要的是在Visual Studio中有一个匹配的选项.那可能吗?

git visual-studio visual-studio-2015

8
推荐指数
1
解决办法
7523
查看次数

性能计数器和线程

我正在创建一些自定义性能计数器.我将在线程池上创建任务,并在多个工作线程内递增/递减计数器.

我是否需要为每个线程提供一个新的反对象?共享性能计数器对象跨线程是否安全(增量/减量)

c#

7
推荐指数
1
解决办法
2691
查看次数

如何使组标题跨越Tablix列

我正在使用Microsoft Reporting Services(rdlc,Visual Studio 2010附带)

假设我想创建一个包含Group Header,detail行和组页脚的报表.(我正在使用Tablix,但如果有不同的方式,我会对它开放).

现在,有几列,但我希望组标题跨越列.那可能吗?

另一个问题:假设我想有条件地跨越我的细节行中的列,这可能吗?(如何?)

rdlc reporting-services

7
推荐指数
2
解决办法
6748
查看次数

SQL Server 2008和.Net 4.0?

有谁知道我是否可以从SQL Server 2008加载.net 4.0程序集?特别是,我们正在研究带有自定义数据扩展的SQL报告.我注意到SQL Server 2008 Business Intelligence Studio目前似乎不支持VS2010.如果我将我的CDE作为.net 4.0程序集发布,我是否能够从SQL Server报告服务器中加载它们?

c# sql-server reporting-services

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

参数和PowerShell函数

我绝对不会在这里得到一些东西:

我正在创建一个简单的函数来复制字符串x次.我对参数有一些奇怪的问题 - 它似乎没有识别第二个参数.当我运行该函数时,它返回一个空字符串.此外,我认为它将2个参数归为1.这是我的代码:


Function Repeat-String([string]$str, [int]$repeat) {
  $builder = new-object System.Text.StringBuilder
  for ($i = 0; $i -lt $repeat; $i++) {[void]$builder.Append($str)}
  $builder.ToString()
}

首先我点源它加载它:

. .\RepeatString.ps1

然后我像这样执行它:

Repeat-string("x", 7)
我期待一串7 x的.我有一个空字符串.

我又去了一些,我改变了"for"循环.我用"-lt 5"替换了"-lt $ repeat"部分,这样我就可以获得固定数量的重复.当我这样做时,我得到以下输出(没有引号):

重复字符串("x",7)

"x 7x 7x 7x 7x 7"

它看起来好像是连接$ str和$ repeat参数而不是像2个独立的参数那样对待它们.我究竟做错了什么?

powershell

5
推荐指数
3
解决办法
9999
查看次数

使用输入文件进行单元测试

全部:我有一个单元测试,它正在测试需要输入文件的功能.此测试是使用VS 2008的内置单元测试功能构建的.

我的问题是单元测试需要发现文件.但是,当测试运行时,它将从测试结果文件夹下的临时"输出"目录运行.它无法找到我的输入文件.

我已将文件添加到单元测试项目中,编译操作为"none",复制到输出目录选项为"copy if newer",但副本发生在正常VS输出目录(在bin下),并且不到单元测试执行目录,因此找不到该文件.我不想硬编码文件的路径,因为测试应该为任何检查单元测试的人运行.我可以将输入文件放在一个解决方案文件夹中,让测试代码通过硬编码一个相对路径备份树来"发现"该文件,但我认为这必须是一个常见的问题,所以我想检查一下失踪了什么.

unit-testing visual-studio

5
推荐指数
2
解决办法
4824
查看次数

获取程序集的全名

假设我想显示程序集的全名,只给出程序集文件的路径.

我知道我可以很容易地编写命令行程序或powershell脚本,但运行时是否包含我可以使用的命令?(我已经看到gacutil为gac中的程序集执行此操作,但是关于未注册的程序集?)

c# .net-assembly

5
推荐指数
2
解决办法
5221
查看次数