2012年7月17日

定义Enum的开始和结束,这样就能循环Enum了

摘要: 示例,这样还有个好处就是first=0成为一个不合法的enum,这样可以避免出现忘记初始化。但是要注意enum得顺序递增才能用loop。 enum ProgrammingLanguage { Language_First = 0, CPP = 1, CSharp = 2, Java =3, Language_Last = 4, } class Program { static void Main(string[] args) { for (Prog... 阅读全文

posted @ 2012-07-17 08:59 fresky 阅读(618) 评论(0) 推荐(0) 编辑

2012年7月16日

定制自己的Visual Studio的Debugger Visualizer

摘要: 又加了一个debugger visualizer的例子。更新了代码,见这里。代码里包含了下面的属性:[DebuggerTypeProxy][DebuggerDisplay][DebuggerVisualizer][DebuggerStepThrough][DebuggerHidden][Conditional("DEBUG")][DebuggerBrowsable][DebuggerVisuali... 阅读全文

posted @ 2012-07-16 11:35 fresky 阅读(343) 评论(2) 推荐(0) 编辑

2012年7月13日

如何把 Visutal studio中的“print-on-breakpoint”消息打印在程序的任何地方

摘要: 这个问题visual studio - In VS, make print-on-breakpoint use the console - Stack Overflow说明了怎么做。我结合之前这篇文章做了个小例子,放在github上。几个截图:1. 定制debug显示信息。2. 隐藏函数调用。3. 输出 “print-on-breakpoint”消息在output上。 阅读全文

posted @ 2012-07-13 17:24 fresky 阅读(173) 评论(0) 推荐(0) 编辑

C#中 #if DEBUG 和 Conditional("DEBUG")的区别

摘要: 这里c# - #if DEBUG vs. Conditional("DEBUG") - Stack Overflow解释了两者的区别。摘要如下:#if DEBUG: 发生在编译时,release编译出的IL不包含if中的代码[Conditional("DEBUG")]: 发生在运行时,releae编译出的IL包含代码,但是不会被执行。 阅读全文

posted @ 2012-07-13 15:41 fresky 阅读(439) 评论(0) 推荐(0) 编辑

2012年7月11日

WPF应用的图标

摘要: WPF应用的图标设置在 project右键->property->application->Icon。但是要注意的是当你用Visual Studio的F5(debug)起的时候看不到图标,用Control—F5没问题。当然直接去点击build出来的exe也没有问题。 阅读全文

posted @ 2012-07-11 11:35 fresky 阅读(930) 评论(2) 推荐(0) 编辑

2012年7月10日

Mozilla Thimble,在线html,javascript编辑器

摘要: 今天看了一下,Mozilla Thimble,很不错,推荐试试:) 阅读全文

posted @ 2012-07-10 11:09 fresky 阅读(124) 评论(0) 推荐(0) 编辑

使用windbg通过vtable找到优化后的this指针

摘要: 如果用windbg调试的时候遇到优化过的代码,this指针的地址是不准确的,下面介绍如何通过vtable找到this指针。1. kbn# ChildEBP? RetAddr? Args to Child00 1d61fad0 7c90d21a 7c8023f1 00000000 1d61fb04 ntdll!KiFastSystemCallRet01 1d61fad4 7c8023f1 00000000 1d61fb04 1a314e78 ntdll!NtDelayExecution+0xc02 1d61fb2c 7c802455 00000042 00000000 1d61fb6c kern 阅读全文

posted @ 2012-07-10 10:22 fresky 阅读(587) 评论(0) 推荐(0) 编辑

Macro 小总结

摘要: 如果在C++中使用Macro,要注意:1. parameter要加括号: #define ADD(x,y) ((x)+(y))2. result要加括号: #define ADD(x,y) ((x)+(y))3. 多行要加花括号: #define INCREASE(a, b) {++(a);++(b);}这里有个例子:https://github.com/fresky/MacroExample 阅读全文

posted @ 2012-07-10 10:10 fresky 阅读(141) 评论(0) 推荐(0) 编辑

2012年7月6日

oxcdcdcdcd是什么?

摘要: 今天看到一个crash的dump,crash发生在尝试释放地址,但是从dump上可以看到地址的值是oxcdcdcdcd。从这可以知道这个地址没有被正确的初始化。还是debug编译出来的好啊:)从网上总结了一下地址的信息,最主要的是:0xCDCDCDCD堆上分配的地址,但是没有初始化 0xDDDDDDDD堆上释放的地址。 0xFDFDFDFD堆内存的边界 0xCCCCCCCC栈上分配的内存,但... 阅读全文

posted @ 2012-07-06 14:53 fresky 阅读(2949) 评论(0) 推荐(0) 编辑

2012年7月5日

从哪里开始学习Windows 8?(zz)

摘要: Where do I start to learn Windows 8? | Robert MacLean 阅读全文

posted @ 2012-07-05 11:55 fresky 阅读(110) 评论(0) 推荐(0) 编辑

导航