精华内容
下载资源
问答
  • Diagnostic Tool是一款简单好用的打印机设置工具,该软件是专门针对TSC型号的条码打印机精心设计的,目前分为四种功能分别是打印机设定、档案管理、点阵字工具、通讯工具,在这四项功能中,最实用的功能是打印机设定...
  • 下载下来在客户端执行一下可以检测你客户端计算机连接WSUS的状态, 测试连接的过程zd中如果有错误会有红色的字符提醒。
  • 芯烨打印机设置工具
  • 软件介绍: 芯烨打印机专用的调试工具,用于设定打印机功能,可校正感应器、设定网络参数、设定RTC信息、初始化打印机、设定密码、开启除错模式等等。有些黑标打印纸出现无法检测问题时,可以使用这个工具进行调整...
  • 台湾TSC公司的调试软件,有助于熟悉和使用条码机。
  • HP INSIGHT DIAGNOSTIC TOOL

    2013-07-10 15:35:12
    HP INSIGHT DIAGNOSTIC TOOL
  • Debug Diagnostic Tool v2 Update 3.1.zip
  • 语言:English (United States) 批量测试多个端点的工具 这是系统测试其余端点的工具。...有关文件格式的示例,请下载示例文件或访问github页面:https://github.com/grantlouisherman/rest-diagnostic-stencil
  • 在我之前的博文中(SQL Server内存泄漏),我解释了如何使用“!...在这种情况下,我们可以使用Debug Diagnostic Tools或者UMDH来跟踪内存泄漏。这篇博文解释了如何使用Debug Diagnostics Tools来识别内存泄漏。
    
    在我之前的博文中( SQL Server内存泄漏),我解释了如何使用“!heap”命令识别哪个模块泄漏了内存。有时我们使用“!d”命令来找到模型或者使用搜索内存命令(s)不能通过显示内存找到原因。

    在这种情况下,我们可以使用Debug Diagnostic Tools或者UMDH来跟踪内存泄漏。这篇博文解释了如何使用Debug Diagnostics Tools来识别内存泄漏。

    下载并安装Debug Diagnostic Tools从http://www.microsoft.com/en-us/download/details.aspx?id=26798

    1.定位到Tools,“Options”->“Preferences”,选择“Record call stacks immediately when monitoring the leaks”。

    clip_image0021.jpg


    2.定位到“rules”标签页,并选择“add rule”。

    3.选择“Naive(non .Net) memory leak and handle leak”。

    4.选择SQL Server或者跟踪用于内存泄漏的任何进程。

    5.点击“Next”并保留默认选项(当规则是完成或失效时,你可以选择“auto-unload Leak track”)。

    6.点击“Next”并现在激活规则。

    7.Leaktrack.dll已经加入到用于跟踪分配的进程里。

    8.现在你可以等待泄漏再次发生。

    1
    2
    3
    4
    5
    6
    7
    -- If you are learning how to troubleshoot SQL Server memory leak follow the steps which we followed in previous post (https://mssqlwiki.com/2012/12/04/sql-server-memory-leak/)to leak the memory.
    -- Download HeapLeak.dll from this link.
    -- Create  an extended stored procedure in SQL Server
    sp_addextendedproc ‘HeapLeak’,‘C:\HeapLeakdll\HeapLeak.dll’
    -- Let us execute this Extended SP 30 times and leak memory.
    exec  HeapLeak
    go 30


    9.当你猜测内存泄漏时,定位到“rules”,并通过右击“Leak rule”执行一个完整的用户dump。

    clip_image004.jpg


    10.在dump被捕获后,定位到高级分析标签页,添加数据文件并选择我们生成的dump。

    11.定位到Tools,“Options”->“set the symbol path for analysis”。默认的Microsoft symbol path在下面。

    srv*c:\Websymbols*http://msdl.microsoft.com/download/symbols;c:\Release
    重要的:使用加载到SQL Server里的DLL的符号路径替代c:\Release (可选的)

    12.在可用的分析脚本,选择内存压力分析器(memory analysis.asp)。

    13.点击“Start Analysis”。

    clip_image006.jpg


    14.根据加载符号的时间消耗,分析可能要花费一点时间。当分析完成,会生成并打开一个HTML报告。这个HTML报告默认存储在C:\Program Files\DebugDiag\Reports\ 可以用于后续参考。

    我附加了一个使用heapleak.dll内存泄漏时收集的示例报表,在这里http://sdrv.ms/TH1qfR。你可以使用它作为参考。

    Debug Diagnostic Tool的内存压力分析器生成的报表有分析总结和以下表格内存。

    1
    2
    3
    4
    5
    6
    7
    sqlservr.exe__…………dmp
        Virtual Memory Analysis Report
        Heap Analysis Report
        Leak Analysis Report
        Outstanding allocation summary
         Detailed module report (Memory)
         Detailed module report (Handles)

    15.分析总结是报表中不错部分定位哪个模块泄漏了内存。查看以下报表。

    clip_image008.jpg


    16.报表已清晰的表明HeapLeak.dll有255MB显著的分配。在heapleak.dll里“Sub”函数用于在偏移量23处分配了该内存。

    17.查看虚拟内存总结。它给出了在虚拟地址孔家哪里关于内存分布的完整图片。在以下摘要里保留是1.57GB,这在32位SQL Server里是正常的,但是本地堆内存有272.94MB是不正常的。

    查看堆摘要,有50个堆。

    clip_image010.jpg

    clip_image012.jpg18.现在查看显著的分配总结。它给出了分配总数和分配大小的前10个模块。在以下摘要HeapLeak占用255.6MB大小里的26182。
    注意:在这个报表里它是HeapLeak,但是在实践中它可能是泄漏内存的任何模块。

    clip_image014.jpg


    19.你也可以查看详细的模块报告(Memory)。它给出了内存分配,从每个模块以及函数和分配内存的源行(如果你对所有加载的模块设置符号)。

    clip_image016.jpg


    现在我们确认HeapLeak.dll里的Sub函数在行号为14位置分配了255MB,并且未释放。这个报表也给你callstack示例,显示了当函数分配内存时的代码路径。参考示例HTML报表文件http://sdrv.ms/TH1qfR


    附带一个分析文件链接:

    展开全文
  • OLTP系统的问题很难排查和定位,这就是为什么要花那么多钱去请DBA 因为TP系统的请求很多都是毫秒级别,而且同时有大量的并发,所以由于资源,或随机的原因导致的问题,很难去定位根因 哪怕数据库系统尤其是商业...

    OLTP系统的问题很难排查和定位,这就是为什么要花那么多钱去请DBA

    因为TP系统的请求很多都是毫秒级别,而且同时有大量的并发,所以由于资源,或随机的原因导致的问题,很难去定位根因

    哪怕数据库系统尤其是商业数据库系统,已经采集了上千维的对系统和数据库的监控指标,但是仍然很难提高有效的root cause工具,帮助到DBA

     

    DBSherlock就是为了帮助DBA进行异常发现和根因诊断所设计的performance explanation framework。

    用户在UI上选取一个异常,DBSherlock就会试图从两个方面给出可能的causes,

    Concise predicates describing the combination of system configurations or workload characteristics causing the performance anomaly

    High-level diagnoses based on the existing causal models in the system

     

    架构

    数据的采集和预处理主要由DBSeer来完成,

    采集主要包含如下几部分数据,

    1. OS资源消耗

    Resource consumption statistics from the OS (in our case, Linux’s/proc data), e.g., per-core CPU usage, number of disk I/Os, number of network packets, number of page faults, number of allocated/free pages, and number of context switches

    2. DBMS的负载统计

    Workload statistics from the DBMS (in our case, MySQL’s global status variables), e.g., number of logical reads, number of SELECT, UPDATE, DELETE, and INSERT commands executed, number of flushed and dirty pages, and the total lock wait-time.

    3. 查询明细,包含时间,耗时,具体的SQL,使用的查询计划

    Timestamped query logs, containing start-time, duration, and the SQL statements executed by the system, as well as the query plans used for each query

    4. OS和DBMS的配置参数,环境变量,kernel的参数,数据库server的参数,网络配置,相关驱动

    Configuration parameters from the OS and the DBMS, e.g., environment variables, kernel parameters, database server configurations, network settings, and (relevant) driver versions.

     

    预处理包含,

    首先基于transaction进行基于时间粒度的统计,比如每1秒,平均和分位数的延迟,count等;这些数据代表

     

    To be continue。。。

     

    转载于:https://www.cnblogs.com/fxjwind/p/11202590.html

    展开全文
  • 该程序的功能是临时创建的。 该工具处于开发阶段,旨在在 Windows 系统中工作。 这对我日常管理员的工作很有帮助。 多维信息可以帮助您更快地诊断问题并应用正确的解决方案。 独特的功能将允许您发现 Windows 组件的...
  • 一、功能: 调试不在编译器中运行的程序。可以解决一下两种问题。...我知道两个工具,Windbg和Debug Diagnostic Tool,前者比较牛叉,能调试系统驱动级的程序,普通程序当然也能调试,后者方便易用,
    一、功能:
    
    调试不在编译器中运行的程序。可以解决一下两种问题。
    1、 程序崩溃,能找到程序报错是运行的代码行。
    2、 程序涨内存,直接定位到导致内存泄漏的语句。(这个在Debug Diagnostic Tool中使用很简单)

    二、用法:
    我知道两个工具,Windbg和Debug Diagnostic Tool,前者比较牛叉,能调试系统驱动级的程序,普通程序当然也能调试,后者方便易用,功能也很厉害。

    1、如果要调试运行在没有开发环境的机器上的程序,可以此机器上开一个远程调试工具(Windbg或者Remote Debug),然后在自己工作机上运行调试工具(windbg或者vs2008),设置好Symbol(符号 *.pdb文件)和Source(源码)文件路径,然后Attach to Process到需要调试的进程,就能像在平时用vs2008 上调试一样方便了。

    2、如果要调试崩溃的程序,可以抓一个dump(*.dmp文件,也叫内存转储文件),然后用Windbg或者DebugDiagnosticTool工具进行分析,也能找到出错的代码行,进而分析出结果。

    总之,调试前一定要设置Symbol文件路径,没有Symbol,你看到的调用堆栈基本上毫无意义。


    三、详细用法:
    (32位机器安装x86版本 64位机器安装x64版本, 以下链接为32位版本)
    下载安装windbg
    http://msdl.microsoft.com/download/symbols/debuggers/dbg_x86_6.11.1.404.msi

    下载安装Debug Diagnostic Tool
    http://download.microsoft.com/download/B/8/0/B80535DB-DF4D-4020-B41F-ECE9005D9A65/DebugDiagx86.msi


    Windbg中:
    1、 设置Symbol和Source。
    File->Symbol File Path File->Source File Path
    Symbol中添加“srv*c:\symbols* http://msdl.microsoft.com/download/symbols ”,可以自动从Microsoft中下载windows系统的pdb,自动按需下载。如果添加多个目录,可以用 ; 分隔。

    2、 直接调试可执行程序(*.exe)。
    File->Executable ,然后找到exe程序,打开即可。
    Debug->Stop Debug可以停止调试。

    3、 调试正在运行中的可执行程序。
    先运行程序,然后打开Windbg,File->Attach to a process。

    4、 调试运行时崩溃的程序。
    只要崩溃的程序没有关闭,
    打开Windbg,File->Attach to a process,选中崩溃的程序。
    在command中输入[.dump /ma 要保存的文件完整路径名称],提示Dump successfully written后,就会生成一个dump文件。
    打开Windbg.设置好Symbol文件路径,File->Symbol File Path。
    打开dump文件,File->Open Crash dump。
    开始分析。。。
    kb 显示当前线程调用堆栈。
    ~*kb 显示所有线程调用堆栈。
    lm 显示当前加载的模块信息 (*.pdb *.dll)
    !analyze –v 详细列出dump文件的信息

     多数境况下列出堆栈信息,基本就能确定是程序哪行出现问题了。

    5、调试涨内存的程序
    这个时候用Debug Diagnostic Tool
    设置symbol文件路径
    设置symbol文件路径

     

     

     

     

     




    6、 远程调试(没有实践过)
    1)使用windbg:
    你可以从机器A上调试在机器B上执行的程序。具体步骤如下:

    在机器B上启动一个调试窗口(Debug Session)。你可以直接在Windbg下运行一个程序或者将Windbg附加(Attach)到一个进程。

    在机器B的Windbg命令窗口上启动一个远程调试接口(remote):
    .server npipe:pipe=PIPE_NAME
    PIPE_NAME是该接口的名字。

    在机器A上运行:
    windbg –remote npipe:server=SERVER_NAME,pipe=PIPE_NAME
    SERVER_NAME是机器B的名字。


    2)使用vs2008:
    在机器B上启动msvsmon.exe(远程调试器,在Viual studio Tool中可以找到,要拷贝所有文件到机器B(C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\x86))

    点击 工具->选项 ,选择“windows身份验证”
    点击 工具->权限 ,勾选“允许”
    然后在机器A上打开vs2008,点击 工具->附加到进行,弹出下面窗口,输入机器B的IP,连接正常后,就能在下面看见机器B上的进程了。
     
     







    四、windbg常用命令:
    .dump /ma File Name 创建一个Dump文件

    显示调用堆栈:在连接到一个调试窗口后,首先要知道的就是程序当前的执行情况
    kb 命令显示当前线程的堆栈。
    ~*kb会显示所有线程的调用堆栈。如果堆栈太长,Windbg只会显示堆栈的一部分。.kframes可以用来设置缺省显示框架数。


    显示局部变量:
    dv显示局部变量的信息。
    CTRL+ALT+V可以切换到更详细的显示模式。
    关于dv要注意的是在优化过的代码中dv的输出极有可能是不准确的。这时后你能做的就是阅读汇编代码来发现你感兴趣的值是否存储在寄存器中或堆栈上。有时后当前的框架(Frame)上可能找不到你想知道的数据。如果该数据是作为参数传到当前的方法中的,可以读一读上一个或几个框架的汇编代码,有可能该数据还在堆栈的某个地址上。静态变量是储存在固定地址中的,所以找出静态变量的值较为容易。.Frame(或者在调用堆栈窗口中双击)可以用来切换当前的框架。注意dv命令显示的是当前框架的内容。你也可在watch窗口中观察局部变量的值。


    显示类和链表:
    dt可以显示数据结构。比如dt PEB 会显示操作系统进程结构。在后面跟上一个进程结构的地址会显示该结构的详细信息:dt PEB 7ffdf000。
    Dl命令可以显示一些特定的链表结构。


    显示当前线程的错误值:
    !gle会显示当前线程的上一个错误值和状态值。
    !error命令可以解码HRESULT。


    搜索或修改内存:
    s 命令来搜索字节,字或双字,QWORD或字符串。
    e命令来修改内存。


    计算表达式:
    ?命令可以用来进行计算。
    关于表达式的格式请参照帮助文档。使用n命令来切换输入数字的进制。


    显示当前线程,进程和模块信息:
    !teb显示当前线程的环境信息。最常见的用途是查看当前线程堆栈的起始地址,然后在堆栈中搜索值。
    !peb显示当前进程的环境信息,比如执行文件的路径等等。lm显示进程中加载的模块信息。


    显示寄存器的值:
    r命令可以显示和修改寄存器的值。如果要在表达式中使用寄存器的值,在寄存器名前加@符号(比如@eax)。


    显示最相近的符号:
    ln Address。如果你有一个C++对象的指针,可以用来ln来查看该对象类型。


    查找符号:
    x命令可以用来查找全局变量的地址或过程的地址。x命令支持匹配符号。
    x kernel32!*显示Kernel32.dll中的所有可见变量,数据结构和过程。


    查看lock:
    !locks显示各线程的锁资源使用情况。对调试死锁很有用。


    查看handle:
    !handle显示句柄信息。如果一段代码导致句柄泄漏,你只需要在代码执行前后使用!handle命令并比较两次输出的区别。
    !htrace对调试与句柄有关的Bug非常有用。在开始调试前输入:
    !htrace –enable
    然后在调试过程中使用!htrace handle_value 来显示所有与该句柄有关的调用堆栈。

     

    显示汇编代码:
    u。


    程序执行控制命令:

    设置代码断点:bp/bu/bm 可以用来设置代码断点。你可以指定断点被跳过的次数。假设一段代码KERNEL32!SetLastError在运行很多次后会出错,你可以设置如下断点:
        bp KERNEL32!SetLastError 0x100.
    在出错后使用bl 来显示断点信息(注意粗体显示的值):
    0 e 77e7a3b0 004f (0100) 0:*** KERNEL32!SetLastError

    重新启动调试(.restart命令)并设置如下的断点:

    bp Kernel32!SetLastError 0x100-0x4f

    Debugger会停在出错前最后一次调用该过程的地方。


    你可以指定断点被激活时Debugger应当执行的命令串。在该命令串中使用J命令可以用来设置条件断点:

    bp `mysource.cpp:143` "j (poi(MyVar)”0n20) ''; 'g' "

    上面的断点只在MyVar的值大于32时被激活(g命令

     

    条件断点的用途极为广泛。你可以指定一个断点只在特殊的情况下被激活,比如传入的参数满足一定的条件,调用者是某个特殊的过程,某个全局变量被设为特殊的值等等。


    设置内存断点:ba可以用来设置内存断点。调试过程中一个常见的问题是跟踪某些数据的变化。如下的断点:

    ba w4 0x40000000 "kb; g"

    可以打印出所有修改0x40000000的调用堆栈。

     

    控制程序执行:p, pa,t, ta等命令可以用来控制程序的执行。

     

    控制异常和事件处理:Debugger的缺省设置是跳过首次异常(first chance expcetion),在二次异常(second chance exception)时中断程序的执行。sx命令显示Debugger的设置。sxe和sxd可以改变Debugger的设置。

        sxe clr

    可以控制Debugger在托管异常发生时中断程序的执行。常用的Debugger事件有:

    av 访问异常

    eh C++异常

    clr 托管异常

    ld 模块加载

    -c 选项可以用来指定在事件发生时执行的调试命令。

    五、Debug Diagnostic Tool详细用法
    参考此文: http://hi.baidu.com/ourok/item/47314e8db094e3814414cfba
    此工具可以在程序发生崩溃或者内在溢出时自动生成dump,并有相应的崩溃/挂起分析器和内存压力分析器。

    六、其他调试工具
    参考此文: http://www.cnblogs.com/moonz-wu/archive/2011/07/03/2096693.html
    对于C++的程序来说,那工具可就多了。这里我主要用的是IIS Debug Diagnostics Tool,这个原本是用于IIS应用程序的诊断工具,在监视系统服务这样的应用上还是很方便的。同时它可以进行自动的memory leak分析并生成报表。对于memory leak的诊断很有帮助。当然,我还用到了vmmap和rammap两个应用程序。这两个程序原先是system internal那个作者开发的,现在已经收归微软门下了。这两个文件一个用于查看进程的虚拟内存分配情况,而另一个拥有查看物理内存的时候情况。最后一个工具就是process hacker,它能帮助我们更详细的了解进程的内存分配,句柄分配,模块加载,线程数目等。当然processexplorer也可以做相同的工作,但是如果你要查看内存块的内容时,还需要windbg的配合。
    展开全文
  • 该程序的功能是临时创建的。 该工具处于开发阶段,旨在在Windows系统上工作。 这对我的日常管理员工作很有帮助。 多维信息可以帮助您更快地诊断问题并应用正确的解决方案。 独特的功能将使您发现Windows组件的有趣...
  • visual studio 2015打开诊断工具。其他版本我想也应该一样。 很多朋友会遇到这个问题,是找不到下面这张图表,因为它有个...debug(调试)/windows(窗口)/show diagnostic tool(显示诊断窗口) 。如图所示: ...

    visual studio 2015打开诊断工具。其他版本我想也应该一样。

    很多朋友会遇到这个问题,是找不到下面这张图表,因为它有个地方很坑人。

          图1:诊断工具内存占用量,CPU占用量等图表。

    一、打开vs。debug(调试)/windows(窗口)/show diagnostic tool(显示诊断窗口) 。如图所示:

                                                     图2:导航指引

    在调试的时候就会弹出诊断窗口。

    但是点击show diagnostic tool后,你可能并没有看到图表,见图3。很烦?别急,我们继续。

     

    二、下面是坑人的地方。在下图划线处其实还可以下拉扩展。

    把鼠标放在划红线处,等它变成上下两个箭头时,把它拖拽下来,就可以看到你苦苦寻找的东西了。

                                    图3:没有图表显示的诊断窗口。

    最后谢谢!

     

     

     

     

    展开全文
  • Battery State of Health and Stability Diagnostic Tool Set Development
  • Digestive tract tumors account for 15% and 19.3% of the cancer incidence and deaths, respectively. Early detection of digestive tract tumors is crucial to the reduction of global cancer burden....
  • Diagnostic Tool是一款简单好用的打印机设置工具,该软件是专门针对TSC型号的条码打印机精心设计的,目前分为四种功能分别是打印机设定、档案管理、点阵字工具、通讯工具,在这四项功能中,最实用的功能是打印机设定...
  • Last updated on August 9, 2019 The Symantec Diagnostic Tool (SymDiag) is a multi-product, multi-language diagnostic, and security analysis utility. SymDiag is provides self-help support for Symantec.....
  • Arthas 用户文档 — Arthas 3.1.0 文档... alibaba/arthas: Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthashttps://github.com/alibaba/arthas 转载于:https://www.cnblogs.com/...
  • Debug Diagnostic Tool

    2015-06-09 14:47:00
    本文参考:http://www.cnblogs.com/hfclytze/p/3613712.html 下载地址:... 先介绍一下 Debug Diagnostic Tool,此工具常用的功能主要有...
  • As for as I am concerned , Heavy Duty Diagnostic Nexiq 125032 USB is a helpful tool , which has excellent performance to make users feel satisfied and meet users demand . There are some reasons to sho...
  • 1、下载WinDbg(Debugging Tools for Windows):http://www.microsoft.com/whdc/devtools/debugging/default.mspx 2、安装WinDbg 3、运行WinDbg 4、配置Symbol文件路径: File>Symbol File Path,输入:SRV*c:\web...
  • MAIN CONTENT 主要内容 What is SQLTXPLAIN (SQLT)? 什么是SQLTXPLAIN...SQLTXPLAIN, also known as SQLT, is a tool provided by Oracle Server Technologies Center of Expertise - ST CoE. SQLT inputs on...
  • Launch Thinkcar Thinkplus is a new Launch intelligent OBD2 full system auto diagnostic tool. This article will share the related user manual. Part 1: Thinkcar Thinkplus introduction Part 2: Thinkcar ...
  • Autel Maxisys series tablet diagnostic tool is designed with the DNA of Autel’s diagnostics family, the MaxiSys is built to offer many of the prestigious qualities and powerful diagnostic performance...
  • Diagnostic Tool(芯烨打印机调试工具)是一款很强大实用的芯烨打印机的调试软件。Diagnostic Tool使用简单方便,帮助用户轻松快捷的调试打印机,可以解决很多打印机出现的问题。如果黑标打印纸打印机检测不到进纸的...
  • 因为.NET的垃圾回收机制相当完善,通常情况下我们是不需要...再打开Visual Studio 2015的Diagnostic Tools,来检查下到底哪段代码出了问题。  我们先创建一个简单的UWP工程,该工程只有2个几乎为空的Page。MainPag...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,013
精华内容 2,405
关键字:

diagnostictool