Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2359162
  • 博文数量: 527
  • 博客积分: 10343
  • 博客等级: 上将
  • 技术积分: 5565
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-26 23:05
文章分类

全部博文(527)

文章存档

2014年(4)

2012年(13)

2011年(19)

2010年(91)

2009年(136)

2008年(142)

2007年(80)

2006年(29)

2005年(13)

我的朋友

分类: WINDOWS

2009-06-19 16:49:06

我所在的项目使用CVSNT 2.5.03 在服务器端设置的hook程序来自动进行代码和配置文件的检查, 起初用perl写, 后来改为用C#写, 实际使用中发现, 配合使用tortoise cvs时, 如果hook程序又调用了其它的程序, 通过ProcessStartInfo + Process产生的子程序的标准输出和标准错误输出中的任何写内容, 都会导致程序出现一个死锁, 原因不明, 用windbg调用发现, 每次都block在一个WriteLine调用中, 而在主hook程序中产生的标准输出和标准错误输出都可以正确被 tortoise cvs接收到.

C# 2.0开始, 一个EXE 程序可以在编译时reference 另一个exe程序.

用proc explorer观察, 这样产生的程序在运行时, 被reference的exe程序并不作为它的一个子模块被load, 具体loader是怎么处理的目前我还不清楚. 但确定在运行时不会再reference该exe, 可以删除(普通的, 正被一个进程load的DLL, 是不能被删除的).
阅读(1101) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~