当前位置: 首页 > news >正文

vs - ms官方查看pdb文件内容的例子工程

文章目录

    • vs - ms官方查看pdb文件内容的例子工程
    • 概述
    • 笔记
    • END

vs - ms官方查看pdb文件内容的例子工程

概述

不管哪个版本的VS,生成debug版工程时,除了工程自己的.pdb还会有vc*.pdb.
e.g. vc.pdb, vc70.pdb, vc90.pdb, vc120.pdb, vc140.pdb, vc142.pdb, vc143.pdb.
因为这些vc*.pdb不是全局的pdb, 而是每个工程独有的。
就想看看这些同名的.pdb内容有啥不同。

先去找了一下,是否有公版的工具。

最开始在github上看到了PDBExp,都是从titilima的工程来的,工程都编译不过。
原因是PDL库版本的问题和WTL版本的问题,折腾了好久,始终编译不过。
这些作者都没有将依赖的PDL库和WTL版本自包含在工程中,也就他们自己用的爽。对于其他同学,这个PDBExp工程就是垃圾。

后来在 https://www.viksoe.dk/code/pdbexplorer.htm, 看到 pdbexplorer.zip, pdbexplorer_src.zip, 自己编译工程也能编译过(和WTL版本没关系,我用的WTL10),能运行。pdbexplorer.zip编译好的也可以运行。
不过这个版本,查看的信息比较少。

看到github上MS家自己有个工程 microsoft-pdb
虽然也有工程,但是初步看了一下,少东西(缺头文件,就不去编译了)。

看microsoft-pdb的工程说明受启发了。
以上3个渠道来的工程,都是基于MS DIA SDK实现的,都是调用的MS的 DIA SDK API.
去查MS官方 DIA SDK的例子(MSDN),说只要装了VS, 在平台SDK的目录有例子工程。

我开发机上已经装了VS2019, VS2017, VS2015, VS2013, VS2008.
那就去VS2019对应的SDK中去找找看,真找到了工程了。
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\DIA SDK\Samples\DIA2Dump

将DIA2Dump拷贝到自己的实验目录,能编译过,能运行。
查看PDB的所有参数的命令行如下

Dia2Dump.exe -all Dia2Dump.pdb > my_help.txt

这样对2个同名的vc*.pdb, 就可以生成2个.txt, 用文本比对,就知道区别了。

笔记

在这里插入图片描述
在这里插入图片描述
通过VS版本标记, 可以看到VS2008, VS2013, VS2015, VS2019都自带DIA SDK的例子工程。

用IDA打开debug版的exe, 里面的符号地址可以和Dia2Dump.exe对.pdb的分析结果对上。说明Dia2Dump.exe分析的对。
只是IDA更专业,数据展现的更好。
在这里插入图片描述

END

相关文章:

vs - ms官方查看pdb文件内容的例子工程

文章目录 vs - ms官方查看pdb文件内容的例子工程概述笔记END vs - ms官方查看pdb文件内容的例子工程 概述 不管哪个版本的VS,生成debug版工程时,除了工程自己的.pdb还会有vc*.pdb. e.g. vc.pdb, vc70.pdb, vc90.pdb, vc120.pdb, vc140.pdb, vc142.pdb,…...

【excel】设置二级可变联动菜单

文章目录 【需求】在一级菜单选定后,二级菜单联动显示一级菜单下的可选项【步骤】step1 制作辅助列1.列转行2.在辅助列中匹配班级成员 step2 名称管理器step3 制作二级下拉菜单step4 消除二级菜单中的空白 【总结】 之前做完了 【excel】设置可变下拉菜单&#xff…...

8月1-3日西安国际储能产业博览会

同期举办:2024西部国际氢能源及燃料电池产业博览会 2024年12月5-7日 西安国际会展中心 一、展会概况: 在能源转型和“双碳”目标的推动下,风电、太阳能、氢能等能源产业得到快速的发展,新型储能日益成为我国建设新型能源体…...

MySQL事务处理:ACID属性基础与实现概览

前言 ​ 本文核心思想就是介绍一下 Mysql ACID 的实现,至于事务、锁、redo 的底层结构及实现原理,后面会单独出文章介绍。之所以这样是不希望一篇文章过长,在闲暇时间就可轻易掌握一个知识点。 ACID 介绍 ​ ACID 是数据库管理系统&#x…...

PostgreSQL 修改表结构卡住不动

目录 1 问题2 实现 1 问题 今天遇到的一个问题记录一下,因为系统上的一个改动需要同步脚本至测试库上,具体的脚本内容也很简单,就是修改了某张表的一个字段。但是无论怎么操作都是一直卡住,表的数据量很小就十几条数据所以初步怀疑是表被锁了…...

wvp-gb28181-pro搭建流媒体服务器,内存占用过高问题

直接给出解决办法,端口暴露的太多了,暴露了500个端口导致从3g---->11g 遇到的问题,直接使用镜像《648540858/wvp_pro:latest》在宿主机上运行,如我下面的博客 https://blog.csdn.net/weixin_41012767/article/details/137112338?spm=1001.2014.3001.5502 docker run …...

项目-双人五子棋对战: websocket的讲解与使用 (1)

项目介绍 接下来, 我们将制作一个关于双人五子棋的项目, 话不多说先来理清一下需求. 1.用户模块 用户的注册和登录 管理用户的天梯分数, 比赛场数, 获胜场数等信息. 2.匹配模块 依据用户的天梯积分, 实现匹配机制. 3.对战模块 把两个匹配到的玩家放到同一个游戏房间中, 双方通…...

性能飙升50%,react-virtualized-list如何优化大数据集滚动渲染

在处理大规模数据集渲染时,前端性能常常面临巨大的挑战。本文将探讨 react-virtualized-list 库如何通过虚拟化技术和 Intersection Observer API,实现前端渲染性能飙升 50% 的突破!除此之外,我们一同探究下该库还支持哪些新的特性…...

颠覆传统:探索Web3对传统计算机模式的冲击

随着Web3技术的崛起,传统计算机模式正面临着前所未有的冲击与挑战。Web3作为下一代互联网的代表,以其去中心化、安全可信的特性,正在颠覆着传统计算机模式的种种假设和局限性。本文将深入探讨Web3对传统计算机模式的冲击,并探索其…...

最适合上班族和宝妈的兼职副业,一天500多,小众副业项目

近年来,地方特色小吃逐渐受到人们的热烈追捧,尤其是在直播的助力下,许多地方的特色小吃得以走进大众视野,吸引了大量流量和人气。因此,有很大一部分商家和创业者看准了这一商机,纷纷投身于地方特色小吃的制…...

HFish蜜罐实践:网络安全防御的主动出击

引言 随着网络攻击手段的不断演进,传统的被动防御策略已难以应对复杂多变的安全威胁。HFish蜜罐作为一种主动防御工具,通过模拟易受攻击的服务,吸引攻击者,不仅能有效捕获攻击行为,还能为安全分析和溯源提供宝贵信息。…...

vue3+three.js给glb模型设置视频贴图

1.在网上下载一个显示屏或者自己画一个,在blender中设置好显示屏的Mesh,UV设置好,这样方便代码中添加纹理贴图。可以让美术在建模软件中,先随机设置一张图片作为纹理,验证UV是否设置好 关于如何 在blender中给模型设置UV贴图百度很多的 // 视频 import * as THREE from…...

SCARA机器人中旋转花键的维护和保养方法!

作为精密传动元件的一种,旋转花键在工作过程中承受了较大的负荷。在自动化设备上运用广泛,如:水平多关节机械手臂(SCARA)、产业用机器人、自动装载机、雷射加工机、搬运装置、机械加工中心的ATC装置等,最适…...

Linux运维-服务器系统配置初始化脚本

方案一 ,是一个简化的Linux服务器初始化脚本 下面这个是一个简化的Linux服务器初始化脚本示例,它包括了更新软件包、安装常用工具、配置网络和安全设置等基本步骤:这个脚本提供了一个基本的初始化配置示例,包括软件更新、安装工具…...

暑期来临,AI智能视频分析方案筑牢防溺水安全屏障

随着夏季暑期的来临,未成年人溺水事故频发。传统的防溺水方式往往依赖于人工巡逻和警示标识的设置,但这种方式存在人力不足、反应速度慢等局限性。近年来,随着视频监控智能分析技术的不断发展,其在夏季防溺水中的应用也日益凸显出…...

【第3章】SpringBoot实战篇之登录接口(含JWT和拦截器)

文章目录 前言一、JWT1. 什么是JWT2. 使用场景3. 结构3.1 Header3.2 Payload3.3 Signature 4. 使用 二、案例1.引入库2.JwtUtils3. UserController14. ArticleController 三、拦截器1. 定义拦截器2. 注册拦截器 四、测试1. 登录2. 无token3. 有token4. 全局配置 总结 前言 前面…...

vue el-table使用、el-popover关闭、el-image大图预览

1、html <el-table :data"list" :header-cell-style"{ background: #F7F8F9 }"><el-table-column type"index" width"100px" label"序号"></el-table-column><el-table-column prop"pic" l…...

星网智云总经理韦炜:低代码与智能制造融合,探索未来制造的无限可能

下文为广西星网智云总经理韦炜的演讲全文&#xff1a; 大家下午好&#xff0c;今天给大家分享一下玉柴的数字化转型过程&#xff0c;以及整个过程中我们会怎样使用低代码。 ﹀ ﹀ ﹀ #玉柴数字化战略 #两个要点 我们的数字化&#xff0c;是在公司的整一个战略转型下去做的。…...

3d模型批量渲图总是会跳怎么办?---模大狮模型网

在进行3D模型批量渲染时&#xff0c;有时会遇到一些问题&#xff0c;其中一个常见的问题就是渲染过程中出现跳帧或者跳图的情况。这不仅会影响到效率&#xff0c;还可能导致输出结果不符合预期。本文将介绍几种解决这一问题的方法&#xff0c;帮助读者更好地应对3D模型批量渲图…...

【距离四六级只剩一个星期!】刘晓艳四级保命班课程笔记(2)(可分享治资料~)

这一节是专门的听力课程&#xff0c;众所周知&#xff0c;咱们刘晓艳刘老师的口语不是特别的突出&#xff0c;当然口才是一流的☝️。 文章目录 听力预判听前预判 听力过程八大出题关键点视听一致同义转换 听完一道题后平时练习精听步骤 听力预判 听前预判 画关键词&#xff…...

还在用--v 6硬套?揭秘Midjourney水效渲染的3层隐式建模逻辑:表面张力→次表面散射→环境光遮蔽耦合

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;Midjourney水效果渲染的认知跃迁 传统图像生成中对液体物理特性的模拟长期依赖预设材质贴图与后期合成&#xff0c;而 Midjourney v6 及后续版本通过隐式神经场&#xff08;Implicit Neural Field&#xff09;…...

如何5分钟掌握res-downloader:新手也能轻松下载全网视频资源的终极指南

如何5分钟掌握res-downloader&#xff1a;新手也能轻松下载全网视频资源的终极指南 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader…...

阿里云DataV技术

DataV是什么&#xff1a;阿里云DataV是一个企业级数据可视化应用搭建平台&#xff0c;核心定位是让用户通过图形化界面&#xff08;拖拽组件、配置数据&#xff09;&#xff0c;快速搭建出专业水准的大屏可视化应用。它特别适合会议展览、业务监控、风险预警、地理信息分析等需…...

KMS智能激活工具:3分钟彻底解决Windows和Office激活难题

KMS智能激活工具&#xff1a;3分钟彻底解决Windows和Office激活难题 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows系统频繁弹出激活提示而烦恼吗&#xff1f;Office文档突然变成…...

视频生成MOE Mamoda2.5:基于DiT-MoE的统一多模态理解与生成框架技术解析

稀疏激活专家混合架构驱动的高效视频理解与生成新范式 多模态大模型视频生成DiT-MoE稀疏激活强化学习 统一多模态模型正经历从"单任务专家"向"一体化系统"的范式转变。字节跳动研究团队提出的Mamoda2.5&#xff0c;通过将细粒度混合专家&#xff08;MoE&…...

如何用SUMO-RL构建智能交通信号系统:强化学习实战指南

如何用SUMO-RL构建智能交通信号系统&#xff1a;强化学习实战指南 【免费下载链接】sumo-rl Reinforcement Learning environments for Traffic Signal Control with SUMO. Compatible with Gymnasium, PettingZoo, and popular RL libraries. 项目地址: https://gitcode.com…...

ArrayList 扩容机制详解

ArrayList 扩容机制详解 ArrayList 是 Java 用得最多的 List&#xff0c;底层是动态数组。理解扩容机制能避免一些性能问题。 1. 底层结构 transient Object[] elementData; private int size;// 默认初始容量 private static final int DEFAULT_CAPACITY 10;注意&#xff1a;…...

REFramework终极指南:如何构建企业级RE引擎游戏Mod开发框架

REFramework终极指南&#xff1a;如何构建企业级RE引擎游戏Mod开发框架 【免费下载链接】REFramework Mod loader, scripting platform, and VR support for all RE Engine games 项目地址: https://gitcode.com/GitHub_Trending/re/REFramework REFramework是一个专为R…...

Burp Suite安装避坑指南:Java环境、代理配置与HTTPS解密全解析

1. 为什么Burp Suite的安装&#xff0c;比你想象中更值得花20分钟认真对待 很多人点开“Burp Suite安装教程”&#xff0c;心里想的是&#xff1a;“不就是下载个JAR包&#xff0c;双击运行吗&#xff1f;5分钟搞定。”我试过——在三台不同配置的Windows机器上&#xff0c;用…...

深度学习-基于YOLOv8的香蕉成熟度检测系统 YOLOV8预训练模型如何训练香蕉成熟度检测数据集

深度学习-基于YOLOv8的香蕉成熟度检测系统&#xff0c;包括 全部源码 完整标注的数据集 训练好的模型及训练结果 项目运行教程 内含 10000 张数据集&#xff0c;包括 [‘freshripe’, ‘freshunripe’, ‘overripe’, ‘ripe’, ‘rotten’, ‘unripe’]&#xff0c;6 类本项目…...