首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

任何推荐的VC++设置,以便在发布版本上进行更好的PDB分析

在发布版本上进行更好的PDB分析,可以通过以下步骤来设置VC++:

  1. 打开Visual Studio,然后打开项目。
  2. 在解决方案资源管理器中,右键单击项目,然后选择“属性”。
  3. 在属性页面中,选择“配置属性” > “C/C++” > “常规”。
  4. 在“调试信息格式”下拉列表中,选择“程序数据库(/Zi)”。
  5. 在“优化”下拉列表中,选择“已禁用(/Od)”。
  6. 在“配置属性” > “链接器” > “调试”中,选择“生成程序数据库文件(/DEBUG)”。
  7. 在“配置属性” > “链接器” > “优化”中,选择“已禁用(/OPT:NOREF)”。
  8. 点击“应用”按钮,然后点击“确定”按钮。
  9. 重新生成项目,然后在发布版本上进行PDB分析。

这些设置可以帮助您在发布版本上进行更好的PDB分析。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

dotnet 打包 NuGet 配置属性大全整理

其中 csproj 文件有多个版本,当前主力推荐使用是 SDK 风格 csproj 格式。...进行 NuGet 发布时候,将注释 XML 文件带到 NuGet 包里面,可以方便让引用此 NuGet 包项目获取到库代码注释 EmbedAllSources 将源代码嵌入到 PDB 文件里面,...如此可以方便在发布给其他开发者使用时,其他开发者在调试时可以获取到只读源代码,从而让其他开发者更好进行调试 <!...推荐在源代码无需保护项目,如内部开源项目或外部开源项目,以及 PDB 不对外发布项目里,设置此属性为 true 从而将源代码嵌入到 PDB 文件里面,方便调试 详细请参阅 Roslyn 通过 EmbedAllSources...用来实现无论在哪台打包服务器以及在任何时候打包都会输出相同 这个 ContinuousIntegrationBuild 属性在本机构建调试时,都不应该设置为 true 值。

1.4K20

编程技巧 --- VS远程调试

: 确认代码无问题后,将该解决方案Debug发布,生成Debug文件夹,这里「一定记住需要使用Debug发布」,远程调试需要使用到Debug发布生成 .pdb 文件[2],具体.pdb 文件,后面的章节解释...第二,启动后需要在 「工具->选项」 中设置端口号和身份验证。 这里默认端口是 4026,建议身份验证设为无身份验证时,一定勾选允许任何用户进行调试。...Visual Studio 附加进程功能允许开发人员将调试器附加到运行中外部进程,以便在不中断程序执行情况下对其进行调试。...程序数据库 ( .pdb) 文件(也称为符号文件)将项目源代码中标识符和语句映射到已编译应用中相应标识符和说明。这些映射文件将调试器链接到源代码,进行调试。...调试器只会加载与在生成应用时创建 .pdb 文件完全匹配 .pdb 文件(即原始 .pdb 文件或副本),所以只有Debug发布生成 .pdb 文件才能与你当前代码完全映射,进而进行调试。

12510
  • 2019-10-14-C++CLI居然不能创建无参数list

    那会不会是IDE设置问题呢? 尝试了多个vs版本以及c++编译器版本,这个错误提示都会出现。...这个设置,是指标准C++兼容模式。 我们知道由于历史原因,c++存在多个版本vc++和ISOc++存在一定语法差异。...这个选项就是告诉编译器,只能按照标准c++语法进行编译,任何vc++特有的c++语法都不能通过。 那么,对于c++/cli来说,是.NET兼容语言,自然和标准c++语法差异更大了。...,同时有更好阅读体验。...欢迎转载、使用、重新发布,但务必保留文章署名黄腾霄(包含链接: https://xinyuehtx.github.io ),不得用于商业目的,基于本文修改后作品务必相同许可发布

    39510

    30年老代码被干掉!微软用18万行 Rust 改写 Windows 系统内核

    在 Windows 内核中,主要语言是 C,由于 MFC 和 COM 原因,内核之外大部分代码都是 C++,甚至 MSVC libc 实际也是用 C++ 编写,带有 extern "C"声明。...微软首先将 Rust 引入到了 DWriteCore,它属于 Windows DWrite 引擎 Windows App SDK 实现,用于文本分析、布局和渲染。...David Weston 表示,这是一个非常有价值项目,因为这个领域安全漏洞而著称,而且改写后,性能提升也很惊人!...最新版本 Windows 11 启动中使用就是这个 Rust 版本,不过虽然已经通过了所有 GDI 测试,但 Rust 接口目前仍通过功能标志被禁用。...“具体来讲,我希望微软能重用现有编译器,从而带来更好 PDB(程序数据库)支持。

    67130

    Debug和Release之本质区别

    Debug 和 Release 编译方式本质区别     Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。...Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优,以便用户很好地使用。     Debug 和 Release 真正秘密,在于一组编译选项。...事实,我们甚至可以修改这些选项,从而得到优化过调试版本或是带跟踪语句发布版本。...Runtime Library:链接哪种运行时刻函数库通常只对程序性能产生影响。调试版本 Runtime Library 包含了调试信息,并采用了一些保护机制帮助发现错误,因此性能不如发布版本。...这样调试器就能使用 pdb 文件中调试符号。但调试时你会发现断点很难设置,变量也很难找到??这些都被优化过了。

    3.8K90

    Roslyn 通过 EmbedAllSources 将源代码嵌入到 PDB 符号文件中方便开发者调试

    假设此时既有 PDB 符号文件,又有源代码,那自然就可以在调试时候进入源代码进行调试 为了减少误解,必须说明是,有 PDB 符号文件,可以方便进行代码关联调试。...但是有 PDB 符号文件的话,调试更好评 默认发布库,都是不会带上源代码,此时空有 PDB 符号文件,还不能愉快调试源代码。...符号文件,官方推荐PDB 符号文件打到 snupkg 里面再推送。...详细请看 dotnet 使用 SourceLink 将 NuGet 链接源代码到 GitHub 等仓库 其实将源代码放入 PDB 文件会比使用 SourceLink 链接到 GitHub 更好,原因是从...欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后作品务必相同许可发布

    40820

    Oracle Database 21c 十大新特性一览 - New Features

    Oracle 21c 在 Oracle CLoud,在2020年12月8日可用,在企业级公众版本将于 2021年上半年发布。现在年度版本被称为『创新版本』,仅作有限支持,有别于长期支持版本。...持久化内存存储支持 - Persistent Memory Store 自 Oracle 19c 开始,Oracle就已经开始修改程序更好配合持久化内存,提升数据库性能。...在Oracle新发布 Exadata X8M 一体机中,100Gb以太网和RoCE获得支持,这是第一次在Oracle一体机中引入了基于RoCE架构; 存储服务器,通过PMEM在Flash之前进行加速...在集群环境中,这就存在一个问题,PDB 可能被放置在某个资源紧张服务器,服务驱动模型并不完善。 在 21c 中,Oracle 引入了细粒度资源模型,将负载和 PDB 重要性等引入管理视角。...除此之外,在 PDB 打开之前,数据库会检查主机运行负载、可用性、CPU数量和CPU速度等信息,科学判定应该在什么节点什么顺序启动PDB

    1.3K30

    vs2015编写c#项目下各文件解析 vs项目结构解析vs项目结构解析

    因为我使用是VS2015,就以这个为例来进行一些说明: 首先要做是更改你操作系统,把隐藏文件、文件夹显示出来,完整显示VS在生成一个项目时完整文件、文件夹结构。...Debug: 通常称为调试版本,它包含调试信息,所以要比Release 版本大很多(可能大数百K或数M),并且不进行任何优化,便于程序员调试程序。...Release: 称为发布版本,不对源代码进行调试,编译时对应用程序速度进行优化,使得程序在代码大小和运行速度上都是最优,以便于用户很好使用。...默认设置下,DebugPDB是full,保存着调试和项目状态信息、有断点、堆栈检查等代码,可以对程序调试配置进行增量链接。...而Release默认设置PDB指定为pdb-only,保存着程序出了什么错误,以及错误在哪行。

    2.9K52

    VC 在调用main函数之前操作

    +反汇编分析 keywords: VC++, 反汇编, C++实现原理, main函数调用, VC 运行环境初始化 --- 在C/C++语言中规定,程序是从main函数开始,也就是C/C++语言中...本文主要围绕这个主题,通过逆向方式来探讨这个问题。本文所有环境都是在xp,IDE主要使用IDA 与 VC++ 6.0。...为何不选更高版本编译器,为何不在Windows 7或者更高版本Windows实验呢?...我觉得主要是VC6更能体现程序原始行为,想一些更高版本VS 它可能会做一些优化与检查,从而造成反汇编生成代码过于复杂不利于学习,当逆向功力更深之后肯定得去分析版本VS 生成代码,至于现在,我水平不够只能看看...这个链表信息保存在每个线程NT_TIB结构中,这个结构每个线程都有,用来记录当前线程相关内容,以便在进行线程切换时候做数据备份和恢复。当然不是所有的线程数据都保存在这个结构中,它只保留部分。

    2.1K20

    总结了 9 个绝佳 Python Debug 工具

    主要特点 允许检查堆栈框架和源代码列表 更快地发现和修复bug 支持修改Pdb类 管理员有权限在任何时候停止程序进行调试 事后调试 运行一个没有参数审计事件 支持插入多个命令 简单地说,PBD是远程服务器交互式源代码调试工具之一...优点 非常适合小型项目,因为它开销较少。 可以在任何时候停止程序进行调试。 开发人员可以使用PDB插入多个命令。...你可以在Windows XP、Windows 7和Ubuntu i686运行该工具。它允许在跨平台上发布和运行加密python脚本。此外,为了减少出错几率,它允许开发者突出显示语法。...主要特点 支持多线程应用 显示已执行行 可定制对象 免费错bug跟踪工具 自动生成日志 在复杂和遗留Python项目中进行调试 将数值截断至任何数字 允许消除所有与机器有关数据,以便更好进行比较...此外,它很容易检测和解决复杂和遗留Python项目中bug,也不必做任何额外设置,只需要在任何函数任何一行之前添加 "pysnooper.snoop()",它就会开始跟踪所有函数性能。

    1.5K50

    配置PDB符号文件服务

    配置PDB符号服务器想法 刚入职小木,前不久刚刚解决了一次crash问题《Windbg分析程序崩溃实践》。...小木没有松懈,继续进行项目代码和Debug技术学习,同时也思考了一个问题“产品每隔一段时间就会发布版本,当出现Crash问题时候得手动去拷贝响应版本pdb文件到本机进行调试,有没有什么方式可以实现自动化呢...这样在调试机器Windbg,配置产品pdb文件服务器就好了。带着这样问题,小木进行网络搜索,找到了问题答案。...---- 配置PDB符号服务器 准备一台将来存储PDB服务器,假设这个是一台windows,将一个目录可读写权限共享给局域网其他人。...上述symbols可以做到,在产品每次发布后将symbols保存到指定server地址。这个时候在windbg中只要设置pdbserver即可。

    51020

    Oracle Database 20c 十大新特性一览

    2.持久化内存存储支持 - Persistent Memory Store 自 Oracle 19c 开始,Oracle就已经开始修改程序更好配合持久化内存,提升数据库性能。...在Oracle新发布 Exadata X8M 一体机中,100Gb以太网和RoCE获得支持,这是第一次在Oracle一体机中引入了基于RoCE架构; 存储服务器,通过PMEM在Flash之前进行加速...对于分析函数,Oracle 20c 扩展了窗口边界,通过 GROUPS 关键字可以进行特定分组数据计数。...在集群环境中,这就存在一个问题,PDB 可能被放置在某个资源紧张服务器,服务驱动模型并不完善。 在 20c 中,Oracle 引入了细粒度资源模型,将负载和 PDB 重要性等引入管理视角。...对于维护操作,数据库可以在实例关闭前进行动态资源重分配,这一特性被称为 Smart DRM,通过GRD动态资源重组织,重新选出Master节点不需要进行任何恢复和维护,对于应用做到了完全无感知、

    87530

    YH9:Oracle Multitenant 知识库

    上图中, USB 移动硬盘方式表现 PDB,正是突出了 PDB plug 和 unplug 特点,由图中可以直观了解到插接式数据库主要特性: 可以通过现有数据库快速配置和部署新环境; 通过...在一个大型企业中,可能存在几百上千个数据库实例,而随着硬件性能提升,这些数据库资源利用率可能很低,不仅浪费硬件资源,也加重了管理负担,按照以前版本功能进行整合或拆分,通常要进行导出导入(Expdp...这也是对以前版本中传输表空间技术增强。同理,unplug一个PDB,也是可以简单通过命令实现,会在后台生成对应文件。...除了特定权限,还可以对某些数据库功能特点进行限制,比如调用和执行UTL_HTTP 和 UTL_TCP 包可能是高风险,那么以下PROFILE设置可以禁用这些特性: ?...作为资深DBA来说,我们应当知道EXECUTE_CATALOG_ROLE这一角色权限是非常危险,要严格控制这一权限授予。这一注入,实际是利用了 CDBView 包校验漏洞,进行了注入提权。

    1.3K70

    如何管理和组织一个机器学习项目

    Git有助于保持代码文件目录整洁和组织,因为只有最新版本才显示存在(尽管您可以随时轻松访问代码任何版本)。使用者可以选择发生更改,使用“commit”将代码特定更改与相关书面描述捆绑在一起。...总的来说,比起保存“myscript_v1.py”、“dataprocessing_v56.py”、“utils_73.py”等上百万个不同版本代码,Git是一个更好方法来保存旧代码。...在终端进行可视化 如果处于“非交互式环境”(即没有图形用户界面的终端),则需要关闭交互式显示并保存图形,以便在其他地方打开: import seaborn import matplotlib...要使用Python调试器在终端中交互方式运行脚本,请使用以下命令: python -m pdb myscript.py 输入上述命令后,将看到(Pdb)提示符出现。键入“c”继续。...将有助于其他人在你工作基础再接再厉,也有助于“未来你”在自己工作基础再接再厉。 总结 Python是一种很好机器学习语言 Git版本控制有助于跟踪不同版本代码。

    1.5K20

    Oracle 12.2新特性掌上手册 - 第一卷 Availability

    这种方式扩展应用性能意味着standby数据库始终是最新,即使在有很多个节点Oracle RAC集群逻辑卷也能保证信息实时性。...2、Oracle Data Guard for Data Warehouses(用于数据仓库Oracle Data Guard) 在以前版本中,在primary数据库使用NOLOGGING选项进行直接加载...当将PDB从Data Guard standby数据库故障转移到新primary container数据库时,Data Guard备用数据库和目标容器数据库数据库版本必须相同。...只读工作负载可以在用于HA所有分片副本之间进行负载平衡,以便在使用Oracle Active Data Guard时实现额外可扩展性。...此功能使用户能够非常简单方式从命令行界面对standby数据库创建进行脚本化。

    1.1K60

    深入解析 | Oracle Database 20c 十大新特性一览

    在Oracle新发布 Exadata X8M 一体机中,100Gb以太网和RoCE获得支持,这是第一次在Oracle一体机中引入了基于RoCE架构; 存储服务器,通过PMEM在Flash之前进行加速...对于分析函数,Oracle 20c 扩展了窗口边界,通过 GROUPS 关键字可以进行特定分组数据计数。...在集群环境中,这就存在一个问题,PDB 可能被放置在某个资源紧张服务器,服务驱动模型并不完善。 在 20c 中,Oracle 引入了细粒度资源模型,将负载和 PDB 重要性等引入管理视角。...除此之外,在 PDB 打开之前,数据库会检查主机运行负载、可用性、CPU数量和CPU速度等信息,科学判定应该在什么节点什么顺序启动PDB。...对于维护操作,数据库可以在实例关闭前进行动态资源重分配,这一特性被称为 Smart DRM,通过GRD动态资源重组织,重新选出Master节点不需要进行任何恢复和维护,对于应用做到了完全无感知、

    78910

    dotnet 使用 Infer# 自动分析代码缺陷

    本文告诉大家如何使用 Infer# 开源库配合 GitHub Action 实现自动分析代码缺陷,如找到可空引用或线程安全等问题 这是一个在 GitHub 完全开源仓库,请看 https://github.com...dll 和 pdb 文件,通过 dll 进行分析,通过 pdb 从而告诉你是哪个文件 效果如下 可以看到输出了资源没有释放和线程安全问题 Found 3 issues...但是问题不大,因为此工具是对输出文件进行分析,所以可以在 Windows 平台上进行构建,只是将输出二进制文件使用此工具 在现有的仓库加添加此工具例子请看 https://github.com/dotnet-campus...,同时有更好阅读体验。...欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后作品务必相同许可发布

    41560

    Python终极调试指南

    这种方法有点低级,太傻瓜了;实际上有很多更好方法来帮你定位代码中问题,我们将在本文中介绍这些方法。...使用 Logging 模块 如果你编写应用程序没有使用日志功能,那你终究会后悔没有及时用它。如果应用程序中没有打印任何运行日志,就很难对程序错误进行故障定位及排除。...,但是你也可以记录其他有价值信息,以便在代码出问题时给你提供更多上下文参考。...上面的调试会话非常清晰地显示了可以使用 pdb 进行操作。程序终止后,我们进入交互式调试会话。首先,我们导入 pdb 并启动调试器。此时我们可以使用所有的 pdb 命令。...有关命令完整列表,可以查阅 pdb 使用文档。 检查堆栈信息 假设你代码是在远程服务器运行 Flask 或 Django 应用程序,你是无法获得交互式调试会话

    71410

    【译】发布你自己npm包

    备注:npm模块有个神奇样板。这篇文章是基于我从设置中学到东西。 如今,NPM已经成为javascript库事实注册表。...通常,我们会在代码中引入实用包,比如typy,sugar,并轻松使用它们。 那么,你有没有想过编写自己实用程序/库,并将其发布到NPM上面,以便在世界任何地方可以重复使用它?...发布步骤 样板文件 为什么? 当你在多个项目中工作时,你经常发现自己在多个项目中重复简单事情。举个例子,你想要方式解析日期并对其进行格式化。...测试 你需要进行全面测试,确保你代码按照预期工作。有各种测试设置。你可以使用最适合你需求。...如果你想对包进行更改,则必须更改版本号并再次发布

    79510

    PCL1.8.1+vs2015配置教程

    注意:这里提供是All-in-one版本安装文件,以及下面的PDB文件(调试文件)都下载下来,根据自己电脑系统位数来安装,应该一般都是64位 5、这里还有一个配置环境 ?...2、双击打开该属性页,进行配置 ①点击“VC++目录”->“包含目录”,进行编辑。 添加下列路径:(按照自己目录来设置) D:\PCL1.8.1\PCL1.8.1\include\pcl-1.8....++目录”->“库目录”,进行编辑。...Release版本不带-gd,方便区分. 2.勾选BUILD_SHARED_LIBS,这样最后生成vtk才会有dll跟lib 3.CMAKE_INSTALL_PREFIX设置为你清空VTK文件夹,以便放你编译完只有需要得到几个...上图中Qt5_dir设置路径和前面的那个路径是不一样,注意在Cmake时候看清楚Name参数是 什么 报错没找到合适版本,是因为之前VTK_QT_VERSION那里填是4,所以要改为5,然后再次编译

    7.6K52
    领券