小编mar*_*ark的帖子

Powershell无法正确呈现我的脚本帮助

我有一个Powershell脚本,在它的开头有一个很大的帮助,用Get-Help命令显示- https://gist.github.com/MarkKharitonov/91698caf8c695902eacde2b6c7825bf1

我提供帮助的方式有两个问题.特别是与该.EXAMPLE部分.这是帮助的缩写版本(请参阅脚本完整版的超链接和帮助):

<#
.SYNOPSIS
    Runs a WinDBG command or a script file.

...

.NOTES
    The default is to scan for images using the .imgscan /l. One has to check first with the WinDBG GUI to see if this is necessary, because this is a time consuming operation.

.EXAMPLE
    Please, find below a PowerShell session transcript showing the script invoked with the -Command parameter:

    PS D:\tmp\cantestr52 - 06-09-2017> cat C:\Users\mkharitonov\runcdb.config.ps1
    $Sosex = "E:\Utils\sosex\64\sosex.dll"
    $CDB = "e:\Program …
Run Code Online (Sandbox Code Playgroud)

powershell

2
推荐指数
1
解决办法
58
查看次数

使用 Azure DevOps REST Api,除了列出所有构建之外,如何通过构建编号获取构建?

因此,我看到 Api 通过其构建 ID 获取构建,但我看不到通过构建号获取它。是列出所有构建的唯一方法吗?

azure-devops azure-devops-rest-api

2
推荐指数
1
解决办法
1883
查看次数

如何从 powershell 模块函数导出变量?

请注意:

C:\> $TestVariable
C:\> $a
C:\> get-command Test-VariableExport

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Function        Test-VariableExport                                0.0.0.1    Test


C:\> (get-command Test-VariableExport).ScriptBlock

    $script:TestVariable = Get-Date

C:\> Test-VariableExport
C:\> $TestVariable
C:\> function f() { $script:a = Get-Date }
C:\> f
C:\> $a

Monday, April 15, 2019 2:48:59 PM


C:\> f
C:\> $a

Monday, April 15, 2019 2:49:03 PM


C:\>
Run Code Online (Sandbox Code Playgroud)

当仅在函数内部时,相同的代码可以工作 - 变量a从函数导出到外部作用域。但是,当函数是模块的一部分(就像Test-VariableExport函数的情况一样)时,导出将不起作用。

如何使其适用于模块功能?

powershell scope module powershell-module

2
推荐指数
1
解决办法
6221
查看次数

为什么#pragma warning禁用S2068不起作用?

我在工具中有以下代码:

\n
var o = new OptionSet()\n    .Add("password=|pwd=|p=", "The database password. Only when using SQL authentication.", p => password = p.TrimQuotes())\n    ...\n;\n
Run Code Online (Sandbox Code Playgroud)\n

我的 PR 构建将声纳警告提升为编译错误,因此代码失败并显示:

\n
HashPasswordsArgs.cs(49,22): warning S2068: "password" detected here, make sure this is not a hard-coded credential. [C:\\xyz\\HashPasswords\\src\\HashPasswords\\HashPasswords.csproj]\n
Run Code Online (Sandbox Code Playgroud)\n

好的,我知道这是一个误报,并想在代码中抑制它(这是我具体且有意识的愿望,请不要建议去 SonarQube 服务器做任何事情)。

\n

我尝试添加//NOSONAR(//后有或没有空格),我还尝试#pragma warning disable S2068在文件顶部添加。没有任何帮助。

\n

我缺少什么?

\n

以下是运行示例:

\n

//诺声纳

\n
C:\\xyz\\HashPasswords [master \xe2\x89\xa1]> cat .\\src\\HashPasswords\\HashPasswordsArgs.cs |sls SONAR\n\n                .Add("password=|pwd=|p=", "The database password. Only when using SQL authentication.", p => …
Run Code Online (Sandbox Code Playgroud)

c# sonarqube

2
推荐指数
1
解决办法
2119
查看次数

project.assets.json 的对象模型是什么?我们可以使用什么库从文件中解析它?

我不是在谈论 Newtonsoft.Json - 我想要针对 project.assets.json 定制的实际对象模型

有图书馆吗?

nuget .net-core

2
推荐指数
1
解决办法
710
查看次数

如何使用 ui.perfetto.dev 非交互方式打开 chrome 跟踪文件?

我生成 chrome 跟踪文件,并从脚本以非交互方式打开它们。但是,我不想使用默认的 chrome://tracing 页面,而是使用https://ui.perfetto.dev,我发现它更方便。

唯一的问题是它是一个交互式过程 - 我需要打开文件对话框并从那里选择跟踪文件,然后显示该文件中的跟踪。这里没有网络流量,纯粹是Javascript。

但也许还有另一种方法可以在https://ui.perfetto.dev中打开可以编写脚本的跟踪文件?或者也许有另一个网站提供相同类型的 GUI,但也满足我的要求?

通过编写脚本,我的意思是我想运行带有跟踪文件的脚本,因此默认浏览器会打开跟踪页面。

javascript trace perfetto

2
推荐指数
1
解决办法
1097
查看次数

在SQL Server中定义可能包含整数或字符串的列的最佳方法是什么?

我有一种情况,两个相同类型的对象有不同类型的父母.以下伪代码最好地解释了这种情况:

TypeA a1, a2;
TypeB b;
TypeC c;
a1.Parent = b;
a2.Parent = c;
Run Code Online (Sandbox Code Playgroud)

更复杂的是,TypeB和TypeC可能具有不同类型的主键,例如,以下断言可能为真:

Assert(b.Id is string && c.Id is int);
Run Code Online (Sandbox Code Playgroud)

我的问题是在SQL Server中定义这种父子关系的最佳方法是什么?我能想到的唯一解决方案是定义TypeA表有两列 - ParentId和ParentType,其中:

  • ParentId是sql_variant - 能够同时保存数字和字符串
  • ParentType是字符串 - 保留父类型的程序集限定名称.

但是,当我基于sql_variant定义用户数据类型时,它将字段大小指定为固定的8016字节,这似乎很多.

必须有一个更好的方法.任何人?谢谢.

sql sql-server sql-variant

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

在多线程环境中访问.NET字典

我想强制if-lock-if模式来检查多线程环境中字典中是否存在对象.所以,我正在考虑的代码如下:

private IDictionary<string, SomeType> m_dic = new Dictionary<string, SomeType>();

private SomeType GetSomeObject(string key)
{
  SomeType obj;
  if (!m_dic.TryGetValue(key, out obj))
  {
    lock(m_dic)
    {
      if (!m_dic.TryGetValue(key, out obj))
      {
        m_dic[key] = obj = CreateSomeObject(key);
      }
    }
  }
  return obj;
}
Run Code Online (Sandbox Code Playgroud)

我假设即使另一个线程现在正在同一个键上插入对象,TryGetValue也不会返回部分设置的引用(这样的东西在.NET中不存在,是吗?),而是返回null所以我们进入受保护的部分并重复检查.

我的问题是我的假设是正确的,代码是对的?

谢谢.

编辑

让我加入一个限制.字典实际上是单例对象的字典.因此,一旦条目被占用,它就永远不会改变.就像单例的Instance属性一样 - 一旦设置,它就永远不会改变.鉴于这种约束,我们可以使用if-lock-if模式吗?

.net multithreading dictionary

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

好奇的C#代码 - 需要一些解释

可能重复:
为什么使用try {} finally {}和空的try块?

亲爱的女士们和先生们.在逐步完成MS .NET代码时,我偶然发现了这篇文章:

try { } finally 
{
  // Called in a finally because it needs to run uninterrupted in order to maintain consistency.
  queued = IOThreadScheduler.current.ScheduleCallbackHelper(callback, state);
}
Run Code Online (Sandbox Code Playgroud)

有趣的伎俩.任何人都可以捐出一个解释吗?谢谢.

c#

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

C++:是否可以从std :: string对象中分离char*指针?

我使用std :: string类型进行字符串操作.

但是,有时我需要保留原始的char*指针,即使在原始的std :: string对象被销毁之后(是的,我知道char*指针引用了HEAP并且最终必须被处理掉).

但是,看起来没有办法从字符串中分离原始指针或者是吗?

也许我应该使用另一个字符串实现?

谢谢.

编辑

伙计们,请不要将分离与复制混淆.分离的本质是字符串对象放弃其对底层缓冲区的所有权.所以,如果字符串有detach方法,它的语义将是这样的:

char *ptr = NULL;
{
  std::string s = "Hello world!";
  ptr = s.detach(); // May actually allocate memory, if the string is small enough to have been held inside the static buffer found in std::string.
  assert(s == NULL);
}
// at this point s is destroyed
// ptr continues to point to a valid HEAP memory with the "Hello world!" string in it.
...
delete ptr; // …
Run Code Online (Sandbox Code Playgroud)

c++ string

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