如果我想研究在Android应用程序中如何使用Mainfest.xml中的权限(在Mainfest.xml中请求),以便删除它们,是否有一种简单的方法呢? lint或findbugs是否提供某种支持追踪项目中使用/滥用的权限?
我们的WCF服务显示了大量内存使用的实例,所以我们花了一个完整的内存转储来确定问题。 Operating System Windows Server 2008 R2Service Pack 1 Number Of Processors 4 Process Image c:\Windows\System32\inetsrv\w3wp.exe System Up-Time 40 day(s) 09:23:09 Process Up-Time 14 day(s) 11:49:01 .NET 4.0 Processor Type X64 Process Bitness 64-Bit 从DebugDiag报告的问题的直升机视图。 进程是垃圾收集,所以根据警告我不应该信任!heap命令的所有输出。 Gc堆:1.37 GBytes .NETcaching大小为750Mb, 虚拟内存详细信息:虚拟分配:17.45 Gb加载模块:208.68 Mb线程数:25 Mb本地堆积:3.06 Gb(我很关心这个) 从上面的3.02 Gb出现在Heap 0x003f0000 。 我们有很好的stream量,这样1.3 gb Gb的堆大小感觉对我来说是正常的。 此外,我们有32 gb RAM和64位地址空间的机器,所以caching大小750 mb是可以接受的。 […]
我花了一年的时间开发一个C ++的日志logging库,并且考虑到性能。 为了评估性能,我开发了一套基准testing程序 ,将我的代码与其他库进行比较,其中包括根本不执行任何日志logging的基本情况。 在我的上一个基准testing中,我测量了一个CPU密集型任务的总运行时间。 然后我可以比较一下时间来确定我的图书馆有多less开销。 这个条形图显示了与我的非测井基础案例相比的差异。 正如你所看到的,我的库(“鲁莽”)增加了负面开销 (除非所有4个CPU核心都忙)。 当启用日志function时,程序运行速度比停用时快大约半秒。 我知道我应该尝试把这个问题分解成一个简单的案例,而不是问一个4000线的项目。 但是有那么多的地方要去掉什么东西,没有一个假设,当我试图隔离它的时候,我会让问题消失。 我可能再花一年时间来做这件事。 我希望堆栈溢出的集体专业知识会使这个问题变得更加简单,或者对于那些比我更有经验的人来说,这个原因是显而易见的。 关于我的图书馆和基准的一些事实: 该库由一个将日志参数推送到无锁队列(Boost.Lockless)的前端API和一个执行string格式化并将日志条目写入磁盘的后端线程组成。 时间是基于简单地在程序的开始和结束处调用std::chrono::steady_clock::now() ,并打印差异。 该基准testing是在一个4核英特尔CPU(i7-3770K)上运行的。 基准程序计算一个1024×1024 Mandelbrot分形并logging每个像素的统计信息,即它写入大约一百万条日志条目。 单个工作线程的总运行时间约为35秒。 所以速度增加大概是1.5%。 基准testing产生一个输出文件(这不是定时代码的一部分),它包含了生成的Mandelbrot分形。 我已经validation,日志打开和closures时产生相同的输出。 基准testing运行了100次(所有基准testing库都需要大约10个小时)。 条形图显示平均时间,误差棒显示四分位间距。 Mandelbrot计算的源代码 基准的源代码 。 代码库和文档的根 。 我的问题是,我怎样才能解释当我的日志库启用明显的速度增加? 编辑 :这是在尝试了评论中给出的build议后解决的。 我的日志对象是在基准testing的第24行创build的。 显然,当LOG_INIT()触及日志对象时,它会触发页面错误,导致图像缓冲区的一些或全部页面被映射到物理内存。 我仍然不确定为什么这会将性能提高近半秒; 即使没有日志对象,在mandelbrot_thread()函数中发生的第一件事是写入图像缓冲区的底部,这应该具有类似的效果。 但是,在任何情况下,在开始基准testing之前用memset()清除缓冲区会使得一切更加理智。 目前的基准在这里 其他我试过的事情是: 用oprofile分析器运行它。 即使在将工作放大10分钟左右之后,我也从来没有能够在任何时间注册。 几乎所有的时间都在Mandelbrot计算的内部循环中。 但是,也许现在我知道页面错误,我可以用不同的方式解释它们。 我没有想到要检查图像写入是否花费了不成比例的时间。 卸下锁。 这确实对性能有显着的影响,但结果仍然很奇怪,无论如何,我无法对任何multithreading变体进行更改。 比较生成的汇编代码。 有差异,但日志build设显然是做更多的事情。 没有什么是一个明显的表演杀手。
为什么一旦警告级别处于第二级或更高级别,这个小代码示例就会得到以下警告? public int Foo(int a) { if (a >= 0) throw new ArgumentException("a should be negative", "a"); Contract.EndContractBlock(); return a; } CodeContracts:build议的要求:这个先决条件是多余的:考虑删除它。 你比较一个结构值为null? 显然,整数可以是负数,所以前提条件很难多余,那么为什么我会得到这个警告呢? 编辑:这是什么ILSpy显示创build的function在看exe时: public int Foo(int a) { if (a >= 0) { ContractHelper.RaiseContractFailedEvent(ContractFailureKind.Precondition, null, "a < 0", null); throw new ArgumentException("a should be negative", "a"); } return a; }
我在实施现有Sitefinity网站内部的新的Messenger Connectfunction时出现问题,无法使用实时IDlogin客户端。 也就是说,当我使用下面的代码来实现客户端function时: <head runat="server"> <script type="text/javascript" src="http://js.live.net/4.1/loader.js"></script> </head> <body> <form runat="server" id="form1"> <asp:ScriptManager ID="ScriptManager1" runat="server"/> <wl:app client-id="<%= ConfigurationManager.AppSettings["wl_wrap_client_id"] %>" scope="WL_Profiles.View" callback-url="<%= ConfigurationManager.AppSettings["wl_wrap_client_callback"] %>?wl_session_id=<%=SessionId %>" channel-url="/channel.htm"> </wl:app> …我在Firebug中发现了三个错误,我无法正确识别: Sys.ArgumentTypeException:types'Sys._Application'的对象不能转换为'Sys.IDisposable'types。 参数名称:对象 (在ScriptResource.axd?d = ….行4993) Sys.Application._doInitialize不是一个函数 (在MicrosoftAjaxBase.js第1行) Sys.InvalidOperationException:脚本“MicrosoftAjaxGlobalization.js”已被多次引用。 如果显式引用Microsoft AJAX脚本,请将ScriptManager的MicrosoftAjaxMode属性设置为Explicit。 (在ScriptResource.axd?d = ….行984) 只有当我包含来自js.live.net的loader.js脚本时才会触发错误。 编辑 :似乎错误不一定以此顺序触发。 例如,刷新页面似乎会改变这些错误和/或引入其他错误,例如,在ScriptResource.axd?…的Sys.ParameterCountException 。
试试F#3.0,当涉及到多列分组的时候,碰到了一些问题。 显而易见的事情是尝试 query { for d in context.table do groupBy (d.col1,d.col2) into g select (g.Key) } 但是我得到了“LINQ to Entities支持只有无参数的构造函数和初始化器”。 例外。 我似乎无法find一个MSDN上的例子 http://msdn.microsoft.com/en-us/library/hh225374(v=vs.110).aspx http://msdn.microsoft.com/en-us/library/hh361035(v=vs.110).aspx 我意识到我的问题类似于“ F#中的entity framework和匿名types ”,但它似乎是powerpack / F#2.x的重点,我希望F#3.0有一个优雅的答案…任何想法? 更新: 我在阅读Brian的post时遇到了CLIMutable属性: http://blogs.msdn.com/b/fsharpteam/archive/2012/07/19/more-about-fsharp-3.0-language-features.aspx 我非常乐观,所以我尝试了 [<CLIMutable>] type MyRecord = { Column1 : int; Column2 : int } query { for d in context.table do groupBy {Column1 = […]
我有一个窗体的COM DLL。 此DLL由C#应用程序使用。 我为我的C#应用程序启用了视觉样式。 我不希望视觉样式应用于COM DLL的forms。 但是,当我运行我的应用程序和Lanuch COM DLL的forms,它有视觉风格应用到它。 我将如何防止它? 许多人build议使用清单。 但是,无论我在互联网上看到什么样的清单,他们都使用通用控件6.如何创build使用通用控件5.0的清单? 有些人还build议使用ActivationContext。 但是,这也需要使用常规控件5.0的正确清单吗? 请提出一些build议。
我的知识基础是,我可以在PHP中解决。 我从来没有使用C,C ++,C#或任何编译器。 我从使用php 5.3的XAMPP 1.7.3升级到1.8.1,其中包括:Apache 2.4.3 MySQL 5.5.27 PHP 5.4.7 它正在安装在Windows 7 Pro,Windows XP Pro和Windows Server 2008 R2上。 但是我正试图让它在当前的Windows 7上工作。 我升级是因为我需要更新版本的Apache和MySQL出于安全原因。 我没有select降级。 我使用php_printer.dll来将原始数据打印到打印机上: printer_set_option($handle, PRINTER_MODE, "RAW"); 我的代码在PHP 5.3中工作正常,但在PHP 5.4中打破。 收到错误后:“致命错误:调用未定义的函数printer_open()in〜”。 我检查了php_error_log并收到以下信息。 PHP Warning: PHP Startup: printer: Unable to initialize module Module compiled with module API=20090626 PHP compiled with module API=20100525 These options need to […]
我想知道是否有可能写一个模板函数,可以采取任何其他任意模板作为参数,并正确匹配模板名称(即不只是结果类)。 我所知道的工作是这样的: template<template<typename …> class TemplateT, typename… TemplateP> void f(const TemplateT<TemplateP…>& param); 这将匹配例如f(std::vector<int>())或f(std::list<int>())但不会为f(std::array<int, 3>()) ,因为第二个参数是size_t而没有types。 现在我想可以做一些疯狂的事情: template<template<typename …> class TemplateT, size… Sizes, typename… TemplateP> void f(const TemplateT<Sizes…, TemplateP…>& param); 希望编译器能正确地派生TemplateP省略号或Sizes省略号为空。 但是,这不仅丑陋,而且还适用于采用type或size_t参数的模板。 它仍然不会匹配例如与bool参数的任意模板。 重载方法也是如此: template<template<typename …> class TemplateT, typename… TemplateP> void f(const TemplateT<TemplateP…>& param); template<template<typename …> class TemplateT, size… Sizes> void f(const TemplateT<Sizes…>& param); 此外,如果我们想要混合size_t和typenames ,这种方法不会工作。 […]
我有一个使用Sitecore 7.5和Solr 4.7构build的网站。 我注意到一些非常奇怪的现象,某些内容项目没有被索引。 这是发生了什么事。 我有一个名为“内容页面”的数据模板。 大多数使用此数据模板的内容项目都位于/ sitecore / content / Home / Corporate中。 像这样的事情: /sitecore/content/Home/Corporate/About-Us /sitecore/content/Home/Corporate/Careers /sitecore/content/Home/Corporate/Terms-Of-Use 我创build了几个testing项目,它们位于/ sitecore /内容中,如下所示: /sitecore/content/Test-1 /sitecore/content/Test-2 所有这些页面都是使用“内容页面”数据模板构build的。 在我重build索引,然后去Solr用户界面并做一个查询后,我找不到任何生活在主页节点下的项目。 当我对_templatename进行查询时:“Content Page” – 我只在结果中得到Test-1和Test-2。 有谁知道为什么会这样呢? 真奇怪 我从来没有见过Solr根本没有索引某些项目的东西。 这似乎是基于他们在内容树中的位置。