互软研发团队

Talk is cheap. Show me the code.

使用PowerShell替代WinDbg在高分辨率笔记本下调试、排错

最近换新的开发笔记本,分辨率较高发现部分应用在High DPI下几乎没法用。比较纠结的就是WinDbg,频繁切换分辨率、显示文字大小影响工作节奏。cmd跑cdb调试效果也非常糟糕,幸好PowerShell在High DPI下效果不错。

1、下载PowerDbg v6
2、解压运行Install_PowerDbg.bat
3、运行Windows PowerShell,设置本地不受限制的执行策略。输入:Set-ExecutionPolicy Unrestricted
4、导入PowerDbg模块,输入:Import-Module PowerDbg
5、环境变量中设置调试器的路径,例如:$env:DebuggingTools="C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x86";
6、启动调试会话,并指定dump file路径。例如:New-DbgSession -dump "D:\1.dump"
7、加载调试器扩展,比如调试.NET的sos:Load-DbgExtension C:\Windows\Microsoft.NET\Framework\v4.0.30319\sos.dll
8、执行调试器命令,例如:Invoke-DbgCommand kb


TFS Build Silverlight项目的两个问题

1、The Silverlight 4 SDK is not installed.
打开对应的Build Definition,Process -> Advanced -> MSBuild Platform,设置:X86
2、使用Silverlight Toolkit在xaml上出现类似如下错误:
The property 'ContextMenu' does not exist on the type 'Grid' in the XML namespace 'clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Input.Toolkit'.
打开对应的Build Definition,Process -> Advanced -> MSBuild Arguments,设置:/p:ValidateXaml=false


Adobe Flash Player特殊端口限制

由于Adobe本身对特殊端口进行安全限制,导致一些使用了特殊端口的站点使用如Uploadify的时候上传会导致失败,解决方法是避免站点使用特殊端口。

影响范围:Adobe Flash Player 9.0.115.0 及更高版本

特殊端口:

1 tcpmux
7  echo
9  discard
11  systat
13  daytime
15  netstat
17  qotd
19  chargen
20  ftp data
21  ftp control
22  ssh
23  telnet
25  smtp
37  time
42  name
43  nicname
53  domain
77  priv-rjs
79  finger
87  ttylink
95  supdup
101  hostriame
102  iso-tsap
103  gppitnp
104  acr-nema
109  POP2
110  POP3
111  sunrpc
113  auth
115  sftp
117  uucp-path
119  NNTP
123  NTP
135  loc-srv / epmap
139  netbios
143  IMAP2
179  BGP
389  LDAP
465  SMTP+SSL
512  print / exec
513  login
514  shell
515  printer
526  tempo
530  courier
531  chat
532  netnews
540  uucp
556  remotefs
563  NNTP+SSL
587  submission
601  syslog
636  LDAP+SSL
993  IMAP+SSL
995  POP3+SSL
2049  nfs
4045  lockd
6000  X11

https://helpx.adobe.com/flash/kb/url-requests-certain-ports-throw.html


基于PowerShell编写协同办公应用安装脚本

1、引用BCOP模块,例如:Import-Module $PSScriptRoot\BCOP.psm1

2、调用BUA相关命令,例如:
Add-App -Code Application -Name 应用程序
Add-App -Code Application -Name 应用程序 -Password 123456 -Kind Office -IntegratedMode popup

Ext.NET中文随机乱码

Ext.NET中文随机乱码问题出在了InitScriptFilter和AjaxRequestFilter上,Write传入的是字节数组,然后使用ContentEncoding将字节数组转化成字符,拼接到html后面。这里就有个问题,当编码是GB2312或UTF8的时候,中文字将被编码成2字节或3字节,如果一个中文字的一半正好处在buffer的尾部,被分两次Write,那么这里就会产生乱码。


下载附件并将其中的Ext.Net.dll(1.3.0.29273 Update 1)替换原来的1.3.0.29273版本


Ext.Net.zip (4.2MB)