VC知识库 MSDN 杂志翻译项目组

MSDN Magazine Translation Team's Blog

  VC知识库BLOG :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 登录 ::
  61 随笔 :: 106 文章 :: 780 评论 :: 5 Trackbacks
<2008年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

留言簿(30)

随笔分类

随笔档案

文章分类

文章档案

MSDN MTT 相关链接

搜索

最新评论

阅读排行榜

评论排行榜

专题文章(Features)

CreateRemoteThread,命令行及其它

  你已经看到如何用 Win32 调试 API 来揭示进程是怎样加载 DLLs 以及加载到哪里的。现在让我们来揭开CreateRemoteThread 的秘密,这个函数允许你使用另外一个进程在其上下文中启动函数作为线程运行:

HANDLE CreateRemoteThread(
  HANDLE hProcess,                          // 进程句柄
  LPSECURITY_ATTRIBUTES lpThreadAttributes, // SD-安全描述符
  DWORD dwStackSize,                        // 初始栈大小
  LPTHREAD_START_ROUTINE lpStartAddress,    // 线程函数
  LPVOID lpParameter,                       // 线程参数
  DWORD dwCreationFl

发表于 2006-03-23 20:43 VCKBASE MSDN MTT 阅读(1058) | 评论 (1)  编辑

Windows Loader 知道一切

  除了 Win32 调试 API 之外,Windows 还提供另外一种很好的关于 DLL 加载地址冲突的信息源。那就是在注册表中设置的一些全局标志(或 GFlags):

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

  从而改变 Windows 处理应用程序的方式。GFlags.exe (see Figure 8) 是一个微软调试工具之一,用它可以轻松更改上述的注册表项值。

发表于 2006-03-22 23:06 VCKBASE MSDN MTT 阅读(779) | 评论 (0)  编辑

本文使用.NET Framework 2.0

本文讨论:

  •   新工具ManagedSpy
  •   理解ManagedSpy在调试中如何工作和起作用的
  •   看看ManagedSpyLib的内部工作机制
  •   在单元测试中使用ManagedSpyLib

有不少开发者使用Visual Studio®提供的工具Spy++。使用Spy++,你可以了解一个运行中的应用程序的窗体布局或确定一个导致bug的特定窗体消息。然而,当你创建一个基于Microsoft® .NET框架的应用程序,Spy++变得不太管用了,因为由Spy++截取窗体消息和类不能与开发者使用或甚至看到的任何事情通信。开

发表于 2006-03-17 22:53 VCKBASE MSDN MTT 阅读(829) | 评论 (0)  编辑

摘要

  本文前面讨论了用几种不同的方法来获取进程及其相关 DLLs 的信息,例如通过 PSAPI、NTDLL 以及TOOLHELP32 库提供的 APIs,在这一部分,作者给出了几种获得系统级信息的非常规方法,你可以轻松将它们集成到自己的工具包中。本文范例包含三个实用工具:

  • LoadLibrarySpy,监视并扫描应用程序加载了哪些 DLLs;
  • WindowDump,获取任何窗口的的内容以及窗口的详细描述信息;
  • FileUsage,重定向控制台程序,揭示哪个进程正在使用打开的文件;

发表于 2006-03-02 22:57 VCKBASE MSDN MTT 阅读(804) | 评论 (0)  编辑

在 Windows 系统中,动态库版本冲突实在是一个老大难的问题了,为了解决这个问题,除了使用大量现有的工具外,你还可以利用丰富的 Windows APIs 函数构造自己的调试工具和实用程序。作为例子,该代码示范了几个这种类型的工具,展示如何利用它们来解决动态库的冲突问题......

发表于 2006-01-20 16:32 VCKBASE MSDN MTT 阅读(699) | 评论 (0)  编辑

Windows XP 有一个新特性叫做“快速用户转换——Fast User Switching”,这个特性允许多个用户同时在一台机器上登陆。当一个用户登陆后,另一个用户启动的进程仍然能够运行。这个神奇的特性所倚仗的是 WTS APIs。

发表于 2006-01-17 09:45 VCKBASE MSDN MTT 阅读(742) | 评论 (0)  编辑

介绍获取进程的命令行的种种方法.........

发表于 2006-01-08 13:27 VCKBASE MSDN MTT 阅读(843) | 评论 (0)  编辑

摘要

  本文讨论用各种不同的方法来获取系统中运行的进程信息,比如,进程列表,枚举列表中的进程,然后获取关于进程的详细信息。

 

发表于 2006-01-07 20:35 VCKBASE MSDN MTT 阅读(783) | 评论 (0)  编辑

摘要

  在 Windows 系统中,动态库版本冲突实在是一个老大难的问题了,为了解决这个问题,除了使用大量现有的工具外,你还可以利用丰富的 Windows APIs 函数构造自己的调试工具和实用程序。作为例子,本文将提供三个这种类型的工具,讨论如何利用它们来解决动态库的冲突问题。这三个工具分别是:

  • DllSpy——列出加载到系统中的所有 Dlls 以及所有使用这些 Dlls 的进程;
  • ProcessSpy——列出系统中所有正在运行的进程以及它们正在使用的 Dlls;
  • ProcessXP——显示 Windows XP 所有并发运行的会话(Sessions)清单;
  •   从所周知,动态库“地狱”(DLL Hell)已经不是什么新鲜玩意儿了,如果你使用第三方的 Dlls,肯定会碰到不少与它有关的问题,如找不到入口点,或者库版本不兼容等。.NET 中允许组件的并行执行,减少了产生这种问题的几率,但是如果你还没有升级到 .NET 环境,那怎么办?针对这种情况,可用的方法是用不同的工具

    发表于 2006-01-01 11:47 VCKBASE MSDN MTT 阅读(876) | 评论 (0)  编辑

    本文基于 ASP.NET 2.0 的预发行版本,文中提供的所有信息将来都可能发生变化。

    本文将讨论以下内容:

    • 使用Web部件创建模块化的Web门户应用;
    • 个人化特性和自定义特性;
    • 将自定义用户控件作为Web部件使用;
    • 创建一个个人化特性的提供程序;

      现今门户应用非常流行,好的门户都有共同而显著的特点。那就是都会给访问者提供雅观的信息,并且这些信息都是通过模块化的、一致的、易于浏览的用户界面提供的。一些综合性的门户网站走得更远,它们甚至允许网站成员提供内容、上传文档以及个人化门户页面。

    发表于 2005-10-14 15:42 VCKBASE MSDN MTT 阅读(968) | 评论 (0)  编辑

    显示全部 专题文章(Features) 文档