<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_Michael@TheCore</title><subtitle type="text">Firmware, Software and Hardware</subtitle><id>http://feed.cnblogs.com/blog/u/2989/rss</id><updated>2010-05-24T07:30:51Z</updated><author><name>atempcode</name><uri>http://www.cnblogs.com/atempcode/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/atempcode/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/2989/rss"/><entry><id>http://www.cnblogs.com/atempcode/archive/2010/05/24/1742813.html</id><title type="text">Debugging Visualizer for UEFI type</title><summary type="text">UEFI的code里大量使用了double linked list, 每次跟踪时查看list node总是那么痛苦. 在Visual Studio里, autoexp.dat 可以定制对复杂类型的&amp;quot;可视化&amp;quot;查看. 这个文件是在 Program Files\Microsoft Visual Studio 9.0\Common7\Packages\Debugger 下, 不过我并不...</summary><published>2010-05-24T07:31:00Z</published><updated>2010-05-24T07:31:00Z</updated><author><name>atempcode</name><uri>http://www.cnblogs.com/atempcode/</uri></author><link rel="alternate" href="http://www.cnblogs.com/atempcode/archive/2010/05/24/1742813.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/atempcode/archive/2010/05/24/1742813.html"/><content type="html">&lt;p&gt;UEFI的code里大量使用了double linked list, 每次跟踪时查看list node总是那么痛苦. 在Visual Studio里, autoexp.dat 可以定制对复杂类型的&amp;quot;可视化&amp;quot;查看. 这个文件是在 Program Files\Microsoft Visual Studio 9.0\Common7\Packages\Debugger 下, 不过我并不准备去直接修改它. 一个文档没有记载的小窍门是你可以写一个自己的定义文件, 放在任意路径下, 然后设置环境变量 _vcee_autoexp 指向这个文件. 记得这个文件要以以[Visualizer]开头.&lt;/p&gt;  &lt;p&gt;下面就是我为_EFI_LIST_ENTRY写的Visualizer:&lt;/p&gt;  &lt;p&gt;[Visualizer]    &lt;br /&gt;_EFI_LIST_ENTRY{     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; children(     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; #list(     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; head: $e.BackLink,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; next: BackLink,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ) : &amp;amp;$e     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; )     &lt;br /&gt;}&lt;/p&gt;  &lt;p&gt;看看效果:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/atempcode/WindowsLiveWriter/DebuggingVisualizerforUEFItype_CFFA/example_2.png"&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="example" border="0" alt="example" src="http://images.cnblogs.com/cnblogs_com/atempcode/WindowsLiveWriter/DebuggingVisualizerforUEFItype_CFFA/example_thumb.png" width="517" height="256" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;br /&gt;Item-&amp;gt;Protocols,! 是用缺省的方法显示数据, Item-&amp;gt;Protocols 就是用了我们的Visualizer 了, list里的成员以子节点的形式一一显示, 直观多了.&lt;/p&gt;&lt;img src="http://www.cnblogs.com/atempcode/aggbug/1742813.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/atempcode/archive/2010/05/24/1742813.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/atempcode/archive/2010/05/22/1741823.html</id><title type="text">僵尸窗口</title><summary type="text">最近用Visual Studio调试一个控制台程序时, 发现一个恼人的问题: 如果在调试的过程中中断调试, 程序的控制台窗口不会关闭. 调试一会儿, 就会留下七八个这样的窗口: 可以最大化, 最小化, 就是不能关闭; Task Manager里找不到对应进程; Spy++ 去看, 能看到窗口的handle, 而对应的进程却是invalid的. 最让人不能忍受的是有了这样的僵尸窗口后Windows不...</summary><published>2010-05-22T15:11:00Z</published><updated>2010-05-22T15:11:00Z</updated><author><name>atempcode</name><uri>http://www.cnblogs.com/atempcode/</uri></author><link rel="alternate" href="http://www.cnblogs.com/atempcode/archive/2010/05/22/1741823.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/atempcode/archive/2010/05/22/1741823.html"/><content type="html">&lt;p&gt;最近用Visual Studio调试一个控制台程序时, 发现一个恼人的问题: 如果在调试的过程中中断调试, 程序的控制台窗口不会关闭. 调试一会儿, 就会留下七八个这样的窗口: 可以最大化, 最小化, 就是不能关闭; Task Manager里找不到对应进程; Spy++ 去看, 能看到窗口的handle, 而对应的进程却是invalid的. 最让人不能忍受的是有了这样的僵尸窗口后Windows不能正常关机.&lt;/p&gt;  &lt;p&gt;我想想我的这个程序不会有怎么大的威力, 应该是系统的问题了. Google之, 果然&lt;a href="http://blogs.msdn.com/debugger/archive/2010/03/11/help-my-console-windows-won-t-go-away.aspx"&gt;中&lt;/a&gt;&lt;a href="http://social.msdn.microsoft.com/Forums/en/vsdebug/thread/e6d4a4f5-7002-401a-90e1-6174d7f9e3ca"&gt;招&lt;/a&gt;&lt;a href="http://www.qtcentre.org/threads/28830-Debugging-in-MSVS-leaves-zombie-console-window"&gt;者&lt;/a&gt;还不少. 解决方法就是卸载Windows Update KB978037. 这个补丁更新了csrss, 它控制着WIN32系统的控制台窗口. 这是二月份的Update, 已经几个月了, 还没有修复, MS的反应速度不是一般的慢啊. &lt;/p&gt;&lt;img src="http://www.cnblogs.com/atempcode/aggbug/1741823.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/atempcode/archive/2010/05/22/1741823.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/atempcode/archive/2010/05/04/1727513.html</id><title type="text">SCMBUG 邮件乱码的解决方法</title><summary type="text">1. SVNLOOK 的输出不是UTF8, 而是cmd的locale. Linux下可以指定env: http://osdir.com/ml/bug-tracking.scmbug.user/2006-12/msg00072.html. 而在Windows下就要指定一下输入格式了:&amp;#8230;\hooks\lib\scmbug\Scmbug\Glue\Subversion.pm2. 指定发出ma...</summary><published>2010-05-04T13:29:00Z</published><updated>2010-05-04T13:29:00Z</updated><author><name>atempcode</name><uri>http://www.cnblogs.com/atempcode/</uri></author><link rel="alternate" href="http://www.cnblogs.com/atempcode/archive/2010/05/04/1727513.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/atempcode/archive/2010/05/04/1727513.html"/><content type="html">&lt;p&gt;1. SVNLOOK 的输出不是UTF8, 而是cmd的locale. Linux下可以指定env: &lt;a href="http://osdir.com/ml/bug-tracking.scmbug.user/2006-12/msg00072.html" target="_blank"&gt;http://osdir.com/ml/bug-tracking.scmbug.user/2006-12/msg00072.html&lt;/a&gt;. 而在Windows下就要指定一下输入格式了:&lt;/p&gt;&#xD;
&lt;p&gt;&amp;#8230;\hooks\lib\scmbug\Scmbug\Glue\Subversion.pm&lt;/p&gt;&#xD;
&lt;pre &gt;# Cygwin has a problem with newlines&#xD;
binmode( SVNLOOK_INFO, ":crlf" );&#xD;
+ binmode( SVNLOOK_INFO, ':encoding(big5)');&#xD;
# First line is the username&#xD;
$line = &amp;lt;SVNLOOK_INFO&amp;gt;;&lt;/pre&gt;&#xD;
&lt;p&gt;2. 指定发出mail的编码. &lt;/p&gt;&#xD;
&lt;p&gt;C:\Program Files\Scmbug\share\scmbug\lib\Scmbug\Daemon\Process.pm:&lt;/p&gt;&#xD;
&lt;pre &gt;%mail-&amp;gt;{ 'X-Mailer' } = "Mail::Sendmail version $Mail::Sendmail::VERSION";&#xD;
+%mail-&amp;gt;{'Content-Type'} = 'text/plain; charset="utf-8"';&#xD;
%mail-&amp;gt;{ Subject } = $subject;&lt;/pre&gt;&#xD;
&lt;img src="http://www.cnblogs.com/atempcode/aggbug/1727513.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/atempcode/archive/2010/05/04/1727513.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/atempcode/archive/2010/03/12/1683975.html</id><title type="text">在Eclipse里使用Visual Studio的快捷键</title><summary type="text">作为一个Visual Studio的重度使用者, 在Eclipse里很不适应. 特别是快捷键完全不同, 让人很抓狂. 实际上CDT里已经有VS的快捷键支持了. 所以虽然不在Elipse里作C/C++开发, 还要装个CDT. 然后, 在Preference里的Keys shema就会多出一个VS的选项. 唉, 稍微有一点feel like home了...  &amp;#160;</summary><published>2010-03-12T01:32:00Z</published><updated>2010-03-12T01:32:00Z</updated><author><name>atempcode</name><uri>http://www.cnblogs.com/atempcode/</uri></author><link rel="alternate" href="http://www.cnblogs.com/atempcode/archive/2010/03/12/1683975.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/atempcode/archive/2010/03/12/1683975.html"/><content type="html">&lt;p&gt;作为一个Visual Studio的重度使用者, 在Eclipse里很不适应. 特别是快捷键完全不同, 让人很抓狂. 实际上CDT里已经有VS的快捷键支持了. 所以虽然不在Elipse里作C/C++开发, 还要装个CDT. 然后, 在Preference里的Keys shema就会多出一个VS的选项. 唉, 稍微有一点feel like home了...&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/atempcode/WindowsLiveWriter/EclipseVisualStudio_8318/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/atempcode/WindowsLiveWriter/EclipseVisualStudio_8318/image_thumb.png" width="517" height="352" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/atempcode/aggbug/1683975.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/atempcode/archive/2010/03/12/1683975.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/atempcode/archive/2010/02/07/1665447.html</id><title type="text">Subversion in 2010</title><summary type="text">作为一个Subversion的“快乐的用户”，我还是蛮关心这个项目的动态的。Subversion已经进入Apache基金会的孵化器, 而几位大牛都加入了wandisco. 说到wandisco，以前还用过他们的Subversion同步解决方案，用户checkin到本地server，changeset马上同步到全球各个办公室的server。当初好像和我们的commit hook不太兼容，经常把ser...</summary><published>2010-02-07T08:51:00Z</published><updated>2010-02-07T08:51:00Z</updated><author><name>atempcode</name><uri>http://www.cnblogs.com/atempcode/</uri></author><link rel="alternate" href="http://www.cnblogs.com/atempcode/archive/2010/02/07/1665447.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/atempcode/archive/2010/02/07/1665447.html"/></entry><entry><id>http://www.cnblogs.com/atempcode/archive/2010/02/07/1665446.html</id><title type="text">The case of Trac installation won&amp;rsquo;t run</title><summary type="text">在刚创建的虚拟机上安装 Trac-0.11.6.win32.exe, 发生错误: 看到这熟悉的不知所云的错误信息就知道, 肯定是缺了哪个DLL. 用Depends一看,果然不出所料, 这个安装程序依赖于msvcr90.dll, version 9.0.30729.4148. 稍微看了一下Python里distutils的打包原理, 它打包出的Windows安装程序实际上是由3部分组成: bdist...</summary><published>2010-02-07T08:50:00Z</published><updated>2010-02-07T08:50:00Z</updated><author><name>atempcode</name><uri>http://www.cnblogs.com/atempcode/</uri></author><link rel="alternate" href="http://www.cnblogs.com/atempcode/archive/2010/02/07/1665446.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/atempcode/archive/2010/02/07/1665446.html"/></entry><entry><id>http://www.cnblogs.com/atempcode/archive/2010/02/07/1665445.html</id><title type="text">Ad in Stackoverflow.com becomes annoying</title><summary type="text">Stackoverflow 是一个很棒的程序员社区, 但最近它的广告让人有些困扰了. 看看下面这个页面: 第一眼看去, 我怀疑进错了页面, 因为我要看的问题是 &amp;quot;Help with mod_rewrite rule&amp;quot;, 而这个页面最夺人眼球的却是色彩艳丽的 &amp;quot;Where do programmers ask biz questions?&amp;quot;. 高亮的应该是重要...</summary><published>2010-02-07T08:49:00Z</published><updated>2010-02-07T08:49:00Z</updated><author><name>atempcode</name><uri>http://www.cnblogs.com/atempcode/</uri></author><link rel="alternate" href="http://www.cnblogs.com/atempcode/archive/2010/02/07/1665445.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/atempcode/archive/2010/02/07/1665445.html"/></entry><entry><id>http://www.cnblogs.com/atempcode/archive/2010/02/07/1665443.html</id><title type="text">Importing notes in Google Notebook to Evernote</title><summary type="text">Google Notebook在去年被抛弃了, 最近一直在用Evernote, 用的挺好的, 就想把原来在Google Notebook里的notes倒进来. Evernote 提供有 Google Notebook importer, 按照它提供的方法需要先从 Google Notebook 里把notes输出为Atom格式. 不幸的是, Google 提供的Exporter 不能支持Unico...</summary><published>2010-02-07T08:48:00Z</published><updated>2010-02-07T08:48:00Z</updated><author><name>atempcode</name><uri>http://www.cnblogs.com/atempcode/</uri></author><link rel="alternate" href="http://www.cnblogs.com/atempcode/archive/2010/02/07/1665443.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/atempcode/archive/2010/02/07/1665443.html"/></entry><entry><id>http://www.cnblogs.com/atempcode/archive/2007/11/04/949189.html</id><title type="text">饭否mashup: Popfly入门 (二)</title><summary type="text">上一篇讲了如何创建一个block. 这个block正如数据层, 从Fanfou取得数据. 下面我们要准备把它和一个表现层关联起来. 在Popfly里, 这可以很快地实现.</summary><published>2007-11-04T14:10:00Z</published><updated>2007-11-04T14:10:00Z</updated><author><name>atempcode</name><uri>http://www.cnblogs.com/atempcode/</uri></author><link rel="alternate" href="http://www.cnblogs.com/atempcode/archive/2007/11/04/949189.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/atempcode/archive/2007/11/04/949189.html"/></entry><entry><id>http://www.cnblogs.com/atempcode/archive/2007/10/30/943571.html</id><title type="text">饭否mashup: Popfly入门</title><summary type="text">Popfly是Microsoft新推出的mashup服务, 其目的是"使得任何技术水平的用户都能够轻松创建或编辑他们自己的mash-up" (http://blog.joycode.com/soma/archive/2007/10/29/109761.aspx ) . OK, 轻松创建, 那就来试试吧. 因为对饭否的API比较熟, 就拿它开刀了.</summary><published>2007-10-30T14:13:00Z</published><updated>2007-10-30T14:13:00Z</updated><author><name>atempcode</name><uri>http://www.cnblogs.com/atempcode/</uri></author><link rel="alternate" href="http://www.cnblogs.com/atempcode/archive/2007/10/30/943571.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/atempcode/archive/2007/10/30/943571.html"/></entry></feed>
