Visual Assist X使用技巧
限制vax最大使用的cpu核心数为4
reg add "hkcu\software\Whole Tomato" /v MaxConcurrency /t REG_DWORD /d 4 /f
使用PDB Explorer查看Release版pdb中的符号
① 非调试态,查看nico相关的符号 注:通过填写模块的基地址“Base address”的值来计算所有符号的地址
注:windbg调试LambdaTest1.exe并加载其pdb,也可以通过x LambdaTest1!*nico*来查看nico相关的符号
cpp代码如下:
int Nico2Add(int a, int b) { return a + b; } class CNicoClass { public: void NicoFunc(int a, float b) { } };
② 调试态时,查看lambda相关的符号 注:通过点击“Update Base Address From Debugger”来获取模块的基地址,来计算所有符号的地址
注1:目前只能用于查看Release版本的pdb和exe文件
注2:修改代码重新编译后,需要重启vs进程来用PDB Explorer查看pdb和exe文件中符号(应该是PDB Explorer的bug)
注3:搜索时如果找不到符号请勾选所有选项(应该是过滤器的bug)
注4:windbg调试LambdaTest1.exe并加载其pdb,也可以通过x LambdaTest1!*lambda*来查看lambda相关的符号
0:000> x LambdaTest1!*lambda*
013d1240 LambdaTest1!<lambda_b53d8cae67476f0e5f04d9defa3a2e2b>::<lambda_b53d8cae67476f0e5f04d9defa3a2e2b> (int *)
013d1220 LambdaTest1!<lambda_b53d8cae67476f0e5f04d9defa3a2e2b>::operator() (int)
013d1590 LambdaTest1!std::for_each<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<int> > >,<lambda_b53d8cae67476f0e5f04d9defa3a2e2b> > (class std::_Vector_iterator<std::_Vector_val<std::_Simple_types<int> > >, class std::_Vector_iterator<std::_Vector_val<std::_Simple_types<int> > >, class main::__l2::<lambda_b53d8cae67476f0e5f04d9defa3a2e2b>)
cpp代码如下:
int total = 0; std::vector<int> some_list = {1,2,3,4,5}; std::for_each(begin(some_list), end(some_list), [&total](int x) { total += x; });
张银奎的SymView(已开源)也是一个不错查看符号的工具
参考
Documentation for Visual Assist
[原创]修复Visual Assist在VS2022 17.7.0中启动就报错
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2016-02-17 Dump类型说明