摘要: 你可能已经很熟悉Visual Studio中的断点的基本功能。你在编辑器里代码的侧边点击,创建一个红色的圆点,然后运行应用程序,线程走到你所点的代码处停下,你可以用调试窗口查看代码状态。 你可能不熟悉VS里面的一组高级的断点的特性。接下来的几周,我将发布一系列博客展示每一种高级的断点特性和它使用的场景。这篇博客将链接以后的几篇博客在下面: 命中计数断点 函数断点 过滤... 阅读全文
posted @ 2013-10-09 16:55 allanxyq 阅读(3084) 评论(0) 推荐(0) 编辑
摘要: 在C#和JAVA中无论是method还是variable都有严格的访问级别控制,那么在object-c中对访问级别的使用非常稀少,原因可能是因为在method上没有访问级别的语法,单单控制变量没有什么力度吧。下面我们来讨论下实例变量的访问级别。实例变量在类中声明时默认是protected的不像一... 阅读全文
posted @ 2016-01-14 11:08 allanxyq 阅读(372) 评论(0) 推荐(0) 编辑
摘要: 本篇博客是VisualStudio断点调试系列文章的一部分,示例中使用的代码available to download。 数据断点是当前C++开发者可以用的非常有用的特性。数据断点让你在一快指定的内存发生更改时停止执行。这可以在解决腐败问题方面非常有用的 。下面展示一下这个特性。看看我们的代码,我们注意到PrintObject 的结果是不正确的。它的结果是27,但是我们认为结果一定是32。 ... 阅读全文
posted @ 2013-10-21 21:51 allanxyq 阅读(1427) 评论(0) 推荐(0) 编辑
摘要: 本篇博客是VisualStudio断点调试系列文章的一部分,示例中使用的代码available to download。 在之前的博文里, 我们展示了命中断点和过滤器断点,他们可以帮助开发者缩小问题的范围。条件断点的也是相同的,但是能提供更多的灵活性,它允许开发者用任何有效的表达式来自定义条件。 我们举例说明一种条件断点的用法,这次使用C++例子。我们注意到我们的程序中有一个内测泄露,我们用条... 阅读全文
posted @ 2013-10-17 16:34 allanxyq 阅读(1237) 评论(2) 推荐(0) 编辑
摘要: 本篇博客是VisualStudio断点调试系列文章的一部分,示例中使用的代码available to download。 什么是追踪回溯点?它其实完全不是一个断点,应为它不能导致执行的程序停下来。而是这样,它允许开发者查看在程序中选中的一个点的信息,不用必须停下执行的程序。 首先举例说明怎么怎么使用追踪回溯点,我们要查看GCD方法,在例子中 managed sample。我们想看计算GCD函数... 阅读全文
posted @ 2013-10-16 21:38 allanxyq 阅读(938) 评论(2) 推荐(3) 编辑
摘要: 本篇博客是VisualStudio断点调试系列文章的一部分,示例中使用的代码available to download. 过滤器断点可以对程序的同一个方法运行在多次并发情况下非常有帮助。考虑这个例子并发调用FindPrime() 4次。 你注意下 FindPrime() 函数调用 IsPrime()几次。 证明这个问题,当我们在IsPrime()里设置传统的断点之后发生了什么。首先像我们期望的在函数里命中了断点。 但是我们继续下一步下一步的执行,注意到一些奇怪的行为。 我们似乎是在四处乱跳。这是因为当你下一步下一步走的时候不同的线程命中同一个断点。然后编辑器... 阅读全文
posted @ 2013-10-14 11:23 allanxyq 阅读(1093) 评论(3) 推荐(1) 编辑
摘要: 本篇博客是VisualStudio断点调试系列文章的一部分,在本篇文章里,我们将展示函数断点在VS中的怎么样为你节省时间的特性。 处理重载 你想调试一个指定的函数,但是这个函数有一些重载。一个选择是找到所有的重载并分别设置断点。 如果有很多重载,那么会非常消耗时间。另外一个选择是使用函数断点。 在我们的例子里(with code available to download),你想停在函数I... 阅读全文
posted @ 2013-10-12 16:30 allanxyq 阅读(1668) 评论(2) 推荐(1) 编辑
摘要: 正如之前提到的,我将要写VS里关于所有不同的断点功能的使用。第一部分,我们讨论命中计数断点。如果你愿意跟着我一起尝试,这里有代码。http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-10-45-48-92/ManagedBreakpointSamples.zip 一个... 阅读全文
posted @ 2013-10-11 23:41 allanxyq 阅读(1457) 评论(3) 推荐(1) 编辑
摘要: 假设阅读本文的您已经对await/async有了一定了解。.net中的新关键字await出来很久,刚接触时心里对它非常抵触,习惯了用过去的异步模型,感觉已经足够我实现各种想要的功能,认为新出的await简化了代码,必然牺牲代码的灵活性。这段时间公司项目不忙,周围同事一起讨论await用法,讨论之间发现大家对其理解各不相同,这……激发我对await的深入研究的兴趣。首先说几点常见的误区,随后介绍下await的高级用法。误区一:带有async/await关键字的方法难道就是异步方法了吗?答案是:不是,有async关键字只是告诉编译器我这个方法可以用await。实际上没发起任何异步操作,即使再有aw 阅读全文
posted @ 2013-03-22 13:50 allanxyq 阅读(2020) 评论(5) 推荐(5) 编辑
摘要: redsafi开源win8控件地址:http://www.redsafi.com/sugarui/index_cn.html痛苦焦急的研究两天终于把开源控件打包成功。心情无比畅快快,写篇博客园与大家分享,满网上搜了一遍没有类似的教程,本篇算是首发,希望对大家有所帮助。首先说明我们将要讲的是打一个vs 的Software Development Kit(sdk)包后缀名是.vsix。前提:windows8&vs2012&vs2012sdk1.新建solution,在solution上右键快捷菜单Add->New project,选择VSIXProject项目模板2.创建好之 阅读全文
posted @ 2013-02-28 18:36 allanxyq 阅读(1266) 评论(3) 推荐(5) 编辑