zoukankan      html  css  js  c++  java
  • PowerShell使用-debug定位问题

    PowerShell就像它的名字一样,很强大,用起来很方便,所以微软基本上所有的主流企业级产品都支持PowerShell,Azure也不例外。通过Azure门户网站固然是简单直观,但对于很多IT管理员或者开发者来说,用PowerShell脚本是更加方便的。我个人也是很喜欢PowerShell。

    运行PowerShell命令时如果出错,一般情况下,根据错误信息,还是比较容易发现是哪里错了,但也有错误信息不够友好的情况,这个时候怎么来定位具体是哪出错了呢?使用-debug参数,它会把PowerShell这个黑盒子打开,将具体运行过程展示在你面前,这样就很方便定位问题了。

    比如我最近就遇到这样一个情况。Azure中国(mooncake)上一个新的中继服务推出预览版了,叫混合连接,比起原来的WCF中继,因为是基于Web Socket,所以适用性更广,我也就很开心的尝试了,但在创建中继服务命名空间时就报错了。

    PS C:Usersallenl> $relayns = New-AzureRmRelayNamespace -ResourceGroupName $rgName -Name $namespaceName -Location $loca
    tion
    New-AzureRmRelayNamespace : Operation returned an invalid status code 'NotFound'
    At line:1 char:12
    + $relayns = New-AzureRmRelayNamespace -ResourceGroupName $rgName -Name ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : CloseError: (:) [New-AzureRmRelayNamespace], ErrorResponseException
    + FullyQualifiedErrorId : Microsoft.Azure.Commands.Relay.Commands.Namespace.NewAzureRelayNamespace

    错误信息说NotFound,什么东西没找到?这个中继服务的资源提供商还没注册?资源组没创建?还是位置写的不对所以没找到?。。。

    用-debug,马上答案就出来了。这个命令一直执行到成功发生HTTP请求去调用创建中继服务命名空间的REST API,结果得到相应如下

    DEBUG: ============================ HTTP RESPONSE ============================

    Status Code:
    NotFound

    Headers:
    Pragma : no-cache
    x-ms-failure-cause : gateway
    x-ms-request-id : 267981bf-f3c8-4037-8698-c7bdfd34b45e
    x-ms-correlation-request-id : 267981bf-f3c8-4037-8698-c7bdfd34b45e
    x-ms-routing-request-id : CHINAEAST:20170705T025822Z:267981bf-f3c8-4037-8698-c7bdfd34b45e
    Strict-Transport-Security : max-age=31536000; includeSubDomains
    Cache-Control : no-cache
    Date : Wed, 05 Jul 2017 02:58:21 GMT

    Body:
    {
    "error": {
    "code": "ResourceGroupNotFound",
    "message": "Resource group 'relaydemorg' could not be found."
    }
    }

    这里我们就可以看到具体的错误原因了,是因为资源组没有找到,一查发现原来是我的资源组名称提供错了,所以没找到。

    以后PowerShell发现不够清晰的错误,用-debug调试,你会发现很好用的。

  • 相关阅读:
    Linux性能及调优指南(翻译)之Linux内存架构
    dtrace4linux
    perlchina2016 大会
    GO 语言圣经 -在线阅读
    dtrace4linux_Example
    hellogcc -100GDB技巧
    ITGEGE在线教育
    编译系统透视:图解编译原理
    C 高级编程5 IO与文件权限
    C 高级编程4 makefile 与 IO
  • 原文地址:https://www.cnblogs.com/hula100/p/7120410.html
Copyright © 2011-2022 走看看