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 将 ...
随机推荐
- html学习笔记 - 标签
单标签 : <!DOCTYPE html> 解析类型标签 <!-- xxx --> 注释标签 <br /> 换行标签 <hr /> 分割线标签 < ...
- Mac上面用来录屏的软件(录制gif图片或者mov)
1.如果是录制视频可以使用Mac自带的QuckTime Player,可以录制电脑桌面也可以录制手机界面 默认是录制电脑左面, 选择录制iPhone,连接上手机,就可以录制界面的内容了 2.如果有需求 ...
- 省市联动_简单的Demo,适用于各种二级菜单联动
最近搞了一个功能,是查询页面需要用到二级菜单联动,获取到选中的属性value传入到后台. 平常都是用AJAX或者JQuery ,通过XML或者JSON的方式,这样的话需要调用数据库,像典型得到省市联动 ...
- Web攻防系列教程之跨站脚本攻击和防范技巧详解
摘要:XSS跨站脚本攻击一直都被认为是客户端Web安全中最主流的攻击方式.因为Web环境的复杂性以及XSS跨站脚本攻击的多变性,使得该类型攻击很 难彻底解决.那么,XSS跨站脚本攻击具体攻击行为是什么 ...
- RColorBrewer的使用
RColorBrewer是一个R包,使用http://colorbrewer2.org/这个网站提供的颜色.我们画一个包括八个box的boxplot时,或者在x-y散点图上画六条线时,该怎样选择颜色呢 ...
- Introducing: Machine Learning in R(转)
Machine learning is a branch in computer science that studies the design of algorithms that can lear ...
- Tomcat 连接池详解
(转) JDBC 连接池 org.apache.tomcat.jdbc.pool 是Apache-Commons DBCP连接池的一种替换或备选方案. 那究竟为何需要一个新的连接池? 原因如下: Co ...
- UIDebuggingInformationOverlay在OC语法中使用
转载请注明出处:http://www.cnblogs.com/pretty-guy/p/6924882.html 你可以从这里下载demo 在微博看到几位大牛再说将UIDebuggingInforma ...
- Js获取url传递过来的参数
原理跟取cookie值一样的 function getParamer(paramer){ var url=window.location.href.split("?")[1];/* ...
- Java将头像图片保存到MySQL数据库
在做头像上传的过程中通常是将图片保存到数据库中,这里简单介绍一中将图片保存到数据库的方法: jsp代码: <div> <input class="avatar-input& ...