草庐IT

高精度AD调试

全部标签

c++ - 在调试中断期间释放资源(C++、MSVC)

是否可以在调试器中停止程序时释放资源(文件锁、计时器)?更一般地说,我可以在MSVC停止程序进行调试之前和恢复执行之后执行代码吗?我想完成的事情:-在调试期间自动释放文件锁定以进行编辑。-进程恢复后自动重新加载文件-防止定时器在调试停止期间触发溢出-从计时器中减去调试花费的时间解决方法:如果我无法在程序被调试器停止之前执行代码,那么在程序中以编程方式检测调试器停止了应用程序已经很有帮助了。编辑:我查看了用于调试器集成的WindowsAPI函数,但似乎ContinueDebugEvent等函数仅适用于调试器的编写者,而不适用于被调试的进程。编辑2:似乎热修补DbgBreakPoint函数

c++ - 使用精度集删除尾随 0 的优雅解决方案

是否有任何优雅的解决方案使用stdC++或Boost库将double输出到std::cout满足以下条件的方式:禁用科学记数法小数部分精度为6但是,尾随的0(小数部分)不会被打印出来例如:doubled=200000779998;std::cout应该准确地打印出200000779998。[something]应该是一些现有操纵器的noexcept组合。这不是问题的解决方案:std::cout因为它打印出200000779998.000000,尾随0 最佳答案 您可以尝试使用(滥用?)defaultfloat,而不是使用fixed操

c++ - 如何在 CLion 中同时运行多个调试器?

我在CLion中运行一个大型项目,其中包含10个小型项目。每个小项目都有一个主要功能。这些小项目应该按顺序运行,比如a->b->c->d->...以确保大项目正常运行。目前,当我尝试调试这个大项目时,我必须依次手动启动每个小项目的调试session,这很烦人。我的问题是,有什么方便的方法可以一键自动为我启动这些小项目的调试过程吗? 最佳答案 在运行/调试配置中使用“启动前”来添加依赖项目。来自CLionwebhelp:BeforeLaunchSpecifywhichtasksmustbeperformedbeforeapplying

c++ - 我如何使用 lldb 和 VSCode 将调试器与 bitcoind 和 bitcoin-cli 一起使用?

所有这些都在MacOSMojave上进行。比特币中有两个相关的可执行文件:bitcoind和bitcoin-cli。bitcoind运行比特币服务器。bitcoin-cli用于执行交易和其他事件。我想追踪由bitcoin-cli发起的交易我已经能够使用lldb追踪bitcoind的路径。我正在尝试跟踪使用bitcoin-cli进行的交易的执行路径。当我使用lldb和VisualStudio代码运行bitcoind时,如果我不设置断点,“调试器面板”就会消失。当我使用bitcoin-cli进行交易时,我无法设置断点,因为调试器面板消失了。您可以在左上角看到调试器面板imagehere立即

c++ - Xcode 断点仅在调试期间设置时命中

我正在将C++SDK从Windows移植到MacOSX10.5。我在Xcode中遇到问题,我在某些文件中的断点只有在调试时设置它们时才会命中。如果我停止调试然后重新启动,断点将不再命中。如果我在不调试的情况下添加它们,它们就不会受到影响。这仅在某些文件中,我的断点总是深蓝色。即,我无法区分会被击中的断点和不会被击中的断点。具体来说,我的sdk是由各种动态库组成的。这些是使用Perforcejam构建的,它根据我的操作系统和编译器版本(例如VisualStudio的cl.exe和link.exe)调用各种编译和链接可执行文件。我有一个简单的(单元测试)命令行应用程序,它链接到这些动态库并

c++ - 非确定性输出的 CUDA 调试程序

我正在我的Ubuntu10.1064位系统上调试我的基于CUDA4.0/Thrust的图像重建代码,我一直在尝试找出如何调试我的输出图像出现的运行时错误一些随机的“噪音”。我的代码中没有随机数生成器输出,所以我希望输出在运行之间保持一致,即使它是错误的。然而,这不是……我只是想知道是否有人有调试此类CUDA运行时错误的通用程序。我没有在我的cuda内核中使用任何共享内存。我努力避免任何涉及全局内存的竞争条件,但我可能会遗漏一些东西。我试过使用gpuocelot,但它在识别我的一些CUDA和CUSPARSE函数调用时遇到了问题。此外,我的代码通常可以正常工作。就在我更改此设置时,我得到了

c++ - 为什么 sun C++ 编译器在使用调试信息进行编译时会更改符号名称?

我有这个源文件://ConstPointer.cppconstshort*constconst_short_p_const=0;constshort*const_short_p=0;并使用和不使用调试信息对其进行编译(SUNC++编译器5.10):#CCConstPointer.cpp-c-oConstPointer.o#CC-gConstPointer.cpp-c-oConstPointer-debug.o以下是目标文件的符号名称没有调试信息:#nm-CConstPointer.oConstPointer.o:[Index]ValueSizeTypeBindOtherShndxNam

c++ - Visual C++ 构建/调试问题

我在使用VisualStudio时遇到了一个奇怪的问题。每当我更改我的代码并构建时,即使我收到构建成功的通知(如果有的话,它也会显示代码错误并且不会构建)可执行文件实际上是以前的构建。这真的很烦人和令人沮丧。如果我在新行上放置断点,断点将被禁用并显示Thebreakpointwillnotcurrentlybehit.Noexecutablecodeisassociatedwiththisline.Possiblecausesinclude:preprocessordirectiveorcompiler/linkeroptimization如果我在旧代码行上放置断点,它会停止处理但会显

c++ - Eclipse C++ 调试器不显示变量值

我已经使用Eclipse进行Java编码,没有任何问题。使用C++Eclipse(Indigo),我的问题是,当我将鼠标放在变量上时,我无法看到变量的值!它只是显示变量的定义。在Java中,如果我们右键单击一个变量,那么我们会得到一个选项,如"Inspectvalue"。该选项在C++eclipse中也不可见。如何解决这个问题?我缺少任何插件或配置吗?在VirtualBox(WindowsXP主机)中全新安装了Ubuntu11.10。然后安装了g++4.6、EclipseIndigo和EclipseCDT。在"DebugConfigurations"中,它显示:Debugger:gdb

c++ - 需要帮助调试从 const char* 到 char* [-fpermissive] 的无效转换

我是c++的新手,不知道为什么会这样......第105行我收到此错误从constchar*到char*的无效转换[-fpermissive]第113行我收到从âconstchar*到char*[-fpermissive]的无效转换错误#include#include#includeusingnamespacestd;characWordWrap[1024];characPrint[1024];BasicConsole::BasicConsole(char*szName):ZFSubSystem(szName){m_iMaxWidth=50;//TEXT_MAX_LENGHT;m_bL