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学习笔记】12_Http&Tomcat
一.Http协议 1.什么是Http协议 HTTP,超文本传输协议(HyperText Transfer Protocol)是互联网上应用最为广泛的 一种网络协议.所有的WWW文件都必须遵守这 ...
- 高斯消元法(Gauss Elimination)【超详解&模板】
高斯消元法,是线性代数中的一个算法,可用来求解线性方程组,并可以求出矩阵的秩,以及求出可逆方阵的逆矩阵.高斯消元法的原理是:若用初等行变换将增广矩阵 化为 ,则AX = B与CX = D是同解方程组. ...
- Bootstrap学习笔记之文本对齐风格
文本对齐风格 在排版中离不开文本的对齐方式.在CSS中常常使用text-align来实现文本的对齐风格的设置.其中主要有四种风格: ☑ 左对齐,取值left ☑ 居中对齐,取值center ☑ ...
- 《JavaScript高级程序设计》里对 call() 和 apply() 的解释 (116页)
每个函数都包含两个非继承而来的方法:apply()和call().这两个方法的用途都是在特定的作用域中调用函数,实际上等于设置函数体内this对象的值. apply(): 方法接受两个参数:一个是在其 ...
- How and when: ridge regression with glmnet
@drsimonj here to show you how to conduct ridge regression (linear regression with L2 regularization ...
- Virtualbox让kali虚拟机共享主机的无线网络连接
今天在测试虚拟机下安装kali系统时,遇到一个问题,默认安装完kali系统后,虚拟机不能上网.虚拟机网络配置使用的是默认的网络地址转换(NAT)选项. 网上查了很多,都说使用NAT模式时虚拟机不用做任 ...
- js实现导航菜单栏随着屏幕的滚动进行滚动的效果
$(window).scroll(function () { var $nav = $(".floatingMenu ul li"), length = $nav.length-1 ...
- YII缓存依赖的应用
YII缓存依赖的应用 缓存 缓存依赖 Yii 缓存是提升Web应用性能的简便有效的方式.当我们在加载网页需要过多的时间,比如说查询时间过久,抑或是调用接口占用过多I/O,建立缓存是一个行之有效的方法, ...
- 20个php框架
对于Web开发者来说,PHP是一款非常强大而又受欢迎的编程语言.世界上很多顶级的网站都是基于PHP开发的.本文我们来回顾一下20个2014年最优秀的PHP框架. 每一个开发者都知道,拥有一个强大的框架 ...
- 全景智慧城市常诚——一个实体商家“自剖”VR全景的势在必得
谈起"智慧城市",你的心中是否充满了期待?随着互联网的发展,人们对于"智慧城市"的需求越来越迫切.现在想想,我也算是首批入驻全景智慧城市的商家之一了.在各种连锁 ...