PowerShell使用-debug定位问题
PowerShell就像它的名字一样,很强大,用起来很方便,所以微软基本上所有的主流企业级产品都支持PowerShell,Azure也不例外。通过Azure门户网站固然是简单直观,但对于很多IT管理员或者开发者来说,用PowerShell脚本是更加方便的。我个人也是很喜欢PowerShell。
运行PowerShell命令时如果出错,一般情况下,根据错误信息,还是比较容易发现是哪里错了,但也有错误信息不够友好的情况,这个时候怎么来定位具体是哪出错了呢?使用-debug参数,它会把PowerShell这个黑盒子打开,将具体运行过程展示在你面前,这样就很方便定位问题了。
比如我最近就遇到这样一个情况。Azure中国(mooncake)上一个新的中继服务推出预览版了,叫混合连接,比起原来的WCF中继,因为是基于Web Socket,所以适用性更广,我也就很开心的尝试了,但在创建中继服务命名空间时就报错了。
PS C:\Users\allenl> $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:
NotFoundHeaders:
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 GMTBody:
{
"error": {
"code": "ResourceGroupNotFound",
"message": "Resource group 'relaydemorg' could not be found."
}
}
这里我们就可以看到具体的错误原因了,是因为资源组没有找到,一查发现原来是我的资源组名称提供错了,所以没找到。
以后PowerShell发现不够清晰的错误,用-debug调试,你会发现很好用的。
PowerShell使用-debug定位问题的更多相关文章
- Kali学习笔记35:使用VBScript、PowerShell、DEBUG传输文件
其实VBScript只是一个工具 本质是开启http服务提供下载的 首先我们开启http服务:阿帕奇 然后给上传一个文件做演示: 接下来就是编写VBScript: 这些内容全部输入完成之后: 传输 早 ...
- IDEA + maven 零基础构建 java agent 项目
200316-IDEA + maven 零基础构建 java agent 项目 Java Agent(java 探针)虽说在 jdk1.5 之后就有了,但是对于绝大多数的业务开发 javaer 来说, ...
- jmeter sampler maven项目排错记
eclipse 创建的maven项目,引入jar包之后出现红色叹号,一直找不到原因,连main方法都无法运行,提示找不到类: 错误: 找不到或无法加载主类 soapsampler.SoapSample ...
- 60秒定位问题,十倍程序员的Debug日常
作者:陶建辉 这是我在 2020 年 5 月写的一篇内部博客,当时是希望研发和技术支持同学能够帮助用户快速定位 Bug,解决问题.2020 年 12 月我又迭代了一版,并还针对此进行了内部的培训.这段 ...
- linux下mono,powershell安装教程
1简介 简单来说pash就是bash+powershell 2官网 https://github.com/Pash-Project/Pash 3下载fedora20---lxde桌面---32位版. ...
- 一个新人如何学习在大型系统中添加新功能和Debug
文章背景: 今年七月份正式入职,公司主营ERP软件,楼主所在的组主要负责二次开发,使用的语言是Java. 什么叫二次开发呢?ERP软件的客户都是企业.而这些企业之间的情况都有所不同,一套标准版本的企业 ...
- [转]Eclipse Debug不为人知的秘密
原文地址:http://blog.csdn.net/mgoann/article/details/7239492 Debug视图 认识debug视图,红色部分框为线程堆栈视图,黄色部分框为表达式.断点 ...
- Eclipse debug高级技巧(转)
Debug视图 认识debug视图,红色部分框为线程堆栈视图,黄色部分框为表达式.断点.变量视图,蓝色部分为代码视图. 线程堆栈视图 分别介绍一下这几个按钮的含义: 1.表示当前实现继续运行直到下一个 ...
- Android 软件开发之如何使用Eclipse Debug调试程序详解及Eclipse常用快捷键(转)
1.在程序中添加一个断点如果所示:在Eclipse中添加了一个程序断点 在Eclipse中一共有三种添加断点的方法 第一种: 在红框区域右键出现菜单后点击第一项 Toggle Breakpoint 将 ...
随机推荐
- 【JAVAWEB学习笔记】01_HTML
案例一:网站信息显示页面1.什么是HTML?(Hyper Text Markup Language:超文本标记语言) 超文本:功能比普通文本更加强大 标记语言:使用一组标签对内容进行描述的一门语言(它 ...
- DB太大?一键帮你收缩所有DB文件大小(Shrink Files for All Databases in SQL Server)
本文介绍一个简单的SQL脚本,实现收缩整个Microsoft SQL Server实例所有非系统DB文件大小的功能. 作为一个与SQL天天打交道的程序猿,经常会遇到DB文件太大,把空间占满的情况: 而 ...
- html学习笔记 - 列表
<!-- 无序列表 --> <ul type = square> <li><a href="https://www.baidu.com"& ...
- Memcached和Redis简介
前言: 目前比较流行的缓存技术无疑是Memcached和Redis,两套缓存技术有着诸多的相似之处,但又具备大量的显著差异,作为新生的方案,Redis被视为首选,但是有些场景Memcached发挥的作 ...
- Azure Messaging-ServiceBus Messaging消息队列技术系列-索引篇
Azure Messaging ServiceBus Messaging相关的技术系列,最近已经整理了不少了,统一做一个索引链接,置顶. 方便查找,并后续陆陆续续再增加. 学习消息队列技术,可以先看第 ...
- 使用redis做mybaties的二级缓存(2)-Mybatis 二级缓存小心使用
Mybatis默认对二级缓存是关闭的,一级缓存默认开启: 下面就说说为什么使用二级缓存需要注意: 二级缓存是建立在同一个namespace下的,如果对表的操作查询可能有多个namespace,那么得到 ...
- 011一对一 唯一外键关联映射_单向(one-to-one)
² 两个对象之间是一对一的关系,如Person-IdCard(人—身份证号) ² 有两种策略可以实现一对一的关联映射 主键关联:即让两个对象具有相同的主键值,以表明它们之间的一一对应的关系:数据库 ...
- MySQL索引和查询优化
对于任何DBMS,索引都是进行优化的最主要的因素.对于少量的数据,没有合适的索引影响不是很大,但是,当随着数据量的增加,性能会急剧下降. 如果对多列进行索引(组合索引),列的顺序非常重要,MySQL仅 ...
- 几个常用的linux快捷键和shell知识
1) !$ !$是一个特殊的环境变量,它代表了上一个命令的最后一个字符串.如:你可能会这样: $mkdir mydir $mv mydir yourdir $cd y ...
- How-to go parallel in R – basics + tips(转)
Today is a good day to start parallelizing your code. I’ve been using the parallel package since its ...