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

我应该使用调试信息编译发布版本为"full"还是"pdb-only"?

在编译发布版本时,选择使用调试信息的方式是非常重要的。这将帮助您在出现问题时诊断和解决问题。有两个选项可供选择:"full" 和 "pdb-only"。

  1. "full":这个选项包含了完整的调试信息,包括源代码、行号、局部变量等。这将使得调试器能够显示源代码,并在出现异常时提供详细的错误信息。此外,这种方式还可以让您在调试过程中设置断点、单步执行等操作。这种方式的缺点是编译后的程序体积会相对较大,可能会影响程序的运行速度。
  2. "pdb-only":这个选项仅包含了.pdb文件,它包含了有关符号的信息,但不包含源代码。这意味着在调试过程中,您将无法查看源代码。然而,这种方式的优点是编译后的程序体积会相对较小,程序运行速度不会受到影响。

推荐的腾讯云相关产品和产品介绍链接地址:

  1. 腾讯云云开发:https://cloud.tencent.com/product/tcb
  2. 腾讯云应用性能管理:https://cloud.tencent.com/product/apm
  3. 腾讯云容器服务:https://cloud.tencent.com/product/ccs

总结:选择使用调试信息编译发布版本时,应根据实际需求和场景来选择。如果需要更详细的调试信息和源代码,可以选择 "full";如果需要更小的程序体积和更快的运行速度,可以选择 "pdb-only"。在实际开发过程中,您可以根据需要选择合适的选项。

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

相关·内容

怎么把sql删干净_sql的导入和导出的好处

大家好,又见面了,我是你们的朋友全栈君。 程序数据库 (PDB) 文件保存着调试和项目状态信息,使用这些信息可以对程序的调试配置进行增量链接。...在使用 /debug 生成时,会创建一个 PDB 文件。 可以使用 /debug:full 或 /debug:pdbonly 生成应用程序。 使用 /debug:full 生成将产生可调试的代码。...使用 /debug:pdbonly 生成将产生 PDB,但是不会产生通知 JIT 编译器调试信息可用的 DebuggableAttribute。...如果您想为不希望其成为可调试的发布版本生成 PDB,请使用 /debug:pdbonly。 有关更多信息,请参见 /debug (C# 编译器选项)或 /debug (Visual Basic)。...答: Debug里的PDB是full,保存着调试和项目状态信息、有断言、堆栈检查等代码。 Release 里的PDB是pdb-only,基本上:出什么错了+错误在哪行。

65030

生成类库项目时同时生成的pdb文件是什么东东?

英文全称:Program Database File Debug里的PDB是full,保存着调试和项目状态信息、有断言、堆栈检查等代码。可以对程序的调试配置进行增量链接。...Release 里的PDB是pdb-only,出什么错了+错误在哪行。 由此我明白了,原来pdb文件包含了编译后程序指向源代码的位置信息,用于调试的时候定位到源代码,主要是用来方便调试的。...定义: 生成类库项目时除了生成dll文件外,还会生成一个同名的pdb文件,它是一个程序数据库文件,保存着调试和项目状态信息,使用这些信息可以对程序的调试配置进行增量链接。 ?...理解:pdb文件包含了编译后程序指向源代码的位置信息,用于调试的时候定位到源代码,主要是用来方便调试的。 ?...在程序发布为release模式时,建议将 pdb文件删除, 同时,对外发布的时候,也把 pdb删除,有利于保护程序。

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

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

    3K52

    解决 Flutter 引起的 iOS 内存崩溃问题

    结合「处处开花,多点爆破」的情况来看,应该是某种偏底层的内存管理问题。这就有点挠头了,因为这个版本并没有做什么内存相关的改动。...碰巧的是,就在我们用方案二解决问题之时,方案一也迎来了曙光:Flutter 紧急发布了 3.0.5 版本,该版本中 Flutter Engine 关闭了内存压缩。...[12] 的语法(我就是这样) 认真看报错信息,都说得非常详细,完全可以顺藤摸瓜解决问题 最好的办法还是找一台 x64 的 Mac 这个修改方案是我个人的临时方案,issue 中也有一些大神的其他思路,...在启动的时候就打印这条信息。...源码调试 Flutter 官方文档[14]关于调试部分写的非常完整了,我这里只举一个 Xcode 源码调试的例子。

    1.7K10

    在.net项目中生成的pdb(程序数据文件)是什么文件?

    为了减少文件的大小,现代编译器和早期的大型机调试系统将符号信息输出到一个单独的文件中,对于Microsoft编译器,这个文件称为.PDB文件。 PDB文件包含什么?...Full:与PDB二进制中的符号一起也包含一些调试符号。 Full是Visual Studio中设置的默认选项。...参考MSDN文档: 如果您使用/调试:full,请注意,JIT优化代码的速度和大小会受到一定的影响,并且对代码质量的影响很小。我们建议/调试:pdbonly或没有PDB来生成发布代码。 ?...我们应该和二进制文件一起部署PDBs吗? 如果交付件的大小不是问题,最好将PDB和其他二进制文件一起部署,因为它有助于提供更多关于异常的信息,就像我们在上面的例子中看到的那样。...这并不是说您必须拥有PDBs和二进制部署来获得关于异常的额外信息。同样可以使用符号服务器和源索引来实现,我将在下面的主题中讨论。 和PDB安全风险吗?

    2.4K30

    老牌CC++ IDE——DEV C++有新的大版本了

    序: 这个软件也是有相当历史了,可以追溯到win98时代,1998年就已经发布第一版本了,其中4.9.9.2版本是最经典的,网上镜像应该是最多的,这个版本才10M大小,后面版本都是他的子子孙孙。...软件使用Delphi开发,性能优越,是windows下的原生应用开发,因此并行编译和多线程编译都有得到发挥,因此,启动速度和编译速度应该是比较快的,至少比codeblocks快,更新频率也比codeblocks...特点 优化改进代码补全提示功能 在输入回车时检查语法错误,并在错误处用波浪线标记 用户编辑界面增强和改进 重新设计并改进调试功能 改进结构浏览器 自动链接功能:可以根据用户代码中包含的头文件决定编译时链接哪些库文件...这样可以减少调试程序时反复输入数据的麻烦 集成EGE绘图库和海龟作图库及其项目模板,以提升初学者的学习兴趣 支持打开、编辑和编译UTF-8编码的源代码文件。 增加 重构->符号重命名 功能。...参见使用说明) 错误提示 结构视图 调试面板和调用栈 代码自动完成提示

    3K20

    elasticsearch5.5.3 源码学习 idea下源码编译

    3、elasticsearch版本选择tag 版,tag为发布版,配置与代码一致。        ...7、module下jar采用对应发布版下module,里面为编译好的jar包。 ?         8、编译时plugins文件夹要有内容运行时可以没有内容。        ...aggs-matrix-stats] is incompatible with version [7.0.0-alpha1]; was designed for version [5.6.1] 原因是一般情况下我们调试的源码非某个发布版本...,有些配置项并未发布,我们的配置与当前代码的版本匹配不上,这个时候我们需要将调试的源码设置成某个发布版本,一般来说,Elasticsearch每发布 一个稳定版本,都会有一个对应的tag,我们进入到ES...源码目录下执行git tag, 我这里调试的版本为v5.6.1,所以执行git checkout v5.6.1,切换到v5.6.1tag.

    1.2K60

    UE4 如何用命令行来打包你的游戏

    知识点 UE4 为开发者提供了 RunUAT 工具来实现自动化的编译和打包,该工具支持 Windows,Mac以及Linux。 image 先来看看它打包的命令行参数吧!...版本中加入调试信息 「Cook相关参数」 Cook: 使用 Cooked 资源 SkipCook: 跳过cook阶段,使用上一次Cook好的资源,同时包含了 -Cook 参数 IgnoreCookErrors...这个命令行同时包含了-Stage StagingDirectory: 构建过程中中间结果保存目录,默认在 ProjectPath\Saved\StagedBuilds NoDebugInfo: 不拷贝调试信息文件到...Stage 目录,最终打出来的包中不包含调试信息 NoCleanStage: 新构建不会清理之前 StagingDirectory 中的文件, 如果指定了-clean 则一定会清理掉 StageCommandline...放在UE4CommandLine.txt中的一系列命令行,打出来的包在运行时会从这个文件中读取命令行并执行 「Package相关参数」 Package: 执行打包 Distribution: 打的包是发布版本

    2.4K10

    搭建智能合约开发环境Remix IDE及使用

    , 叫Remix APP, 如果是Mac 电脑,可以直接使用其提供的发布包,地址为:https://github.com/horizon-games/remix-app/releases 如果你有很好的网络环境...要不能还是还是像我一样老老实实把Remix IDE安装在本地,我发现要想成功安装选择对应的版本很关键,具体的版本要求如下: $ node --version v7.10.1 $ npm --version...node 和npm 版本的话,应该都可以安装成功,安装成功之后,remix-ide命令用来启动ide....在Compile页,会动态的显示当前编辑区域合约的编译信息,如显示错误和警告。编译的直接码信息及ABI接口可以通过点击Details查看到。 在这篇文章里 也有截图说明。...注意如果需要调试合约,在部署合约的环境应该选择:JavaScript VM。

    3.3K10

    热血传奇服务端源码(传奇类 手游源码)

    总而言之,也就是说,我感觉Trinity大概也许应该是目前最好的一个魔兽世界服务端模拟了。作为一个程序员来说,玩游戏还在其次,看看代码才是件有意思的事情。...至于客户端的情况,截止到2011年6月12日,中国国服魔兽世界最新的版本是3.3.5 13930-巫妖王之怒。 安装基本工具 安装之前,需要准备几个要使用到的工具软件,用来下载、编译等等。...64位版本的,根据自己的情况选 点Finish,CMake 工具会搜索源码配置,分析出一些编译选项来。...… 相关的可能还需要一些配置和改动,不过目前我的这个版本能够正常运行,其它的未来再写吧。...开发调试 既然是从源码编译的,因此如果中间出了任何问题都是可以通过调试的方式去解决的。调试方法很简单,几个简单的手段 1. 抓包,分析数据记录 2.

    4.4K10

    致 Python 初学者

    我始终认为,学习是需要沉下心来慢慢钻研的,是长期的;同时,学习不应该被赋予太多的功利色彩。...习惯使用IDLE,这是学习python最好的方式  解释型语言的优势,就是可以写一句执行一句,想到哪儿写到哪儿,不必像编译型语言那样得把程序全部写完,编译成功后才能运行。...我特别喜欢使用python的IDLE,甚至拿它当计算器用。很多时候,我用IDLE验证代码的写法是否正确,查看模块是否安装成功以及版本号。...以Notdpan++为例,点击“运行”->“运行”菜单,在弹出的窗口中输入:   cmd /k cd /d “$(CURRENT_DIRECTORY)” & python “$(FULL_CURRENT_PATH...完成以上设置后,就可以在Notepad++中使用菜单命令或者快捷键运行Python代码了。  手工调试代码的手段不多,除了 print 信息,几乎只有把调试信息写成调试文件了。

    72040

    【Linux系统编程】Linux调试器——gdb 的基本使用

    Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。...Release 称为发布版本,不包含调式信息,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。...在 Debug 模式下,编译器会生成带有调试符号信息的可执行文件,这些符号信息包含了变量名、函数名和源代码行号等,以便在调试过程中能够准确地追踪错误。...那在Linux上gcc/g++编译生成的可执行程序其实默认是release版本的,不包含调式信息,所以我们无法调式! 如何解决 那如何让它以debug版本生成呢?...很简单 gcc/g++编译的时候加一个-g就行了 那为了以示区分,我把release版本的重命名一下 然后我们生成debug版本的,也重命名一下 那这里我们其实就能看到debug和release

    50110

    用 WiX 制作安装包:制作 WPF 安装包界面(入门篇)

    这对后续的调试很有用。 小提示 实际上,这个 WPF UI 项目本应该做成 dll 而不是 exe,然后 App.xaml 和 App.xaml.cs 应该被删掉。...并且此方法也能确保 WiX 打包项目使用的工具集版本和 WPF UI 项目使用的工具集版本一致。...然而使用 WiX 的 NuGet 包有额外的好处,可以使得团队成员无需每人单独安装 Wix 工具集即可完整编译安装包。不过这涉及到一些 NuGet 相关的高级操作,我在其他博客里有说到。...至此,拥有 WPF UI 的最简单的 exe 安装包全部完成,你可以开始调试体验了。 测试效果 现在编译 EXE 项目,然后双击运行看一下。...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。

    1.1K20

    dotnet 代码调试方法

    对于客户端还包括渲染方面调试,我觉得我软件显示比较慢,那么是渲染卡还是主线程卡 欢迎小伙伴告诉我一些你的调试方法 课前测试 带着问题阅读效果将会更好 如何看待断点调试 断点调试应该优先考虑,只要代码能做断点调试的优先进行断点调试...Foo 找到了对应的代码,从而进行断点调试 不要在静态构造函数抛出异常 填坑 区分发布代码 在一些模块,即使出现了异常还是可以正常工作,但是如果没有吃掉这个异常将会让整个软件无法使用。...但是有很多逗比的开发者会写出逗比的代码,我期望让他在开发的时候就发现,于是我就通过了判断当前是 DEBUG 版还是发布版执行不同的逻辑 例如在希沃白板软件加载课件的过程,每个课件里面都有不同的页面,如果某个页面加载出现异常...为异常添加更多调试信息 - walterlv NullReferenceException,就不应该存在!...如果是发现上个版本可以使用,但是这个版本被修改了,可以通过 git 的提交信息知道为什么这样修改,在修改的时候可以不掉到上次的坑 有一个笑话是我改了一个 bug 但是测试给我报了 10 个,原因在于我将之前小伙伴解的坑又踩了

    1.5K10

    VS 调试技巧

    bug我们应该怎么办呢?...Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序; 程序员在写代码的时候,需要经常性的调试代码,就将这⾥设置为 debug ,这样编译产⽣的是debug 版本的可执⾏程序...Release 称为发布版本,它往往是进⾏了各种优化,使得程序在代码⼤⼩和运⾏速度上都是最优的, 以便⽤⼾很好地使⽤。...当程序员写完代码,测试再对程序进⾏测试,直到程序的质量符合交付给⽤⼾ 使⽤的标准,这个时候就会设置为 release ,编译产⽣的就是 release 版本的可执⾏程序,这个 版本是⽤⼾使⽤的,⽆需包含调试信息等...如果监视窗⼝看的不够仔细,也是可以观察变量在内存中的存储情况,还是在【调试】->【窗⼝ 内存 四、常见错误 1.编译型错误 编译型错误⼀般都是语法错误,这类错误⼀般看错误信息就能找到⼀些蛛丝⻢迹的,双击错误信息也

    12510

    skyeye安装+arm-elf-gdb安装+模拟s3c44b0x+执行ucos4skyeye

    bank相关的输出 后来查看网上的资料不可以得到正确的答案 然后在自己的ubuntu12.04 32bit 虚拟机上用apt-get install skyeye 安装了一个应该是1.2.x版本号的...问题出在哪儿,我不知道了。我想到了gdb来调试。想看一下到底是哪个地方没有正常执行起来。 这就引发了还有一个让我纠结的问题: arm-elf-gdb的安装。 。。。.../configure –target=arm-elf make make install 当中应该会遇到gcc编译全部warning都依照error的make错误 这是由于如今的GCC的版本号比較新的缘故...成功的标志是 在terminal不论什么路径下输入skyeye会出现skyeye信息) 【2】arm-elf-tools-20040427.sh 【3】arm-elf-gdb 然后我用这上面折腾好的工具调试下载的...ucos4skyeye得到的是正确的结果: http://blog.csdn.net/ranruoyu1003/article/details/6067175 要使用SkeyEye调试功能,

    62520
    领券