从 PHP 到 C++太痛苦了

2021-08-24 16:35:38 +08:00
 xiaotianhu

小白一个,接手两个『挺大』的 C++项目

看懂到是能看懂,但是调试也太麻烦了啊。

没有 var_dump,数据结构只能硬猜,一个 RPC 请求回来的数据是啥得分析半年,本来 var_dump 就解决的事儿可能得看一上午

改一行代码编译要几分钟,一大堆依赖

GDB 还没空学怎么用。

一定是有什么大家都知道我不知道的调试开发技巧吧,球球各位指点如何提升效率

7858 次点击
所在节点    程序员
72 条回复
aneostart173
2021-08-24 16:40:18 +08:00
看你的描述像是搞逆向搞外挂。
xiaotianhu
2021-08-24 16:45:31 +08:00
@aneostart173 正经大厂的正经项目好伐
Rwing
2021-08-24 16:51:55 +08:00
欢迎了解一下 C#
airplayxcom
2021-08-24 16:59:45 +08:00
现在这阶段是挺痛苦的,适应一个项目后,你会越用越爽。
我现在碰都不想碰 PHP
CodeCodeStudy
2021-08-24 17:01:32 +08:00
别 var_dump 了,用断点调试,从 PHP 转 Java 或 C# 的话就容易很多,搞 C++ 的话就相差太多了,建议跑路
debuggerx
2021-08-24 17:04:12 +08:00
工具问题
上 CLion
sadfQED2
2021-08-24 17:12:48 +08:00
支持 5 楼,都 c++了,就别 var_dump 了,另外,就算是 php,也建议看看 xdebug
alexkkaa
2021-08-24 17:30:40 +08:00
Php 易招黑 处于鄙视链底层。

动态语言就是机动灵活,这点静态语言就不要比了。
ysc3839
2021-08-24 17:34:53 +08:00
> 数据结构只能硬猜
配合 IDE 的调试功能能部分解决该问题。
nicevar
2021-08-24 17:36:46 +08:00
主要还是定势思维,老想用 php 的做法套在 c++上,你的痛苦断点就能解决,弄个好点的 IDE,比如宇宙第一 VS,爽得不要不要的
786375312123
2021-08-24 18:08:01 +08:00
VS 可以看数据类型啊,记得把优化关了
jmc891205
2021-08-24 18:19:33 +08:00
还是学一下 gdb 吧
shayuvpn0001
2021-08-24 18:57:13 +08:00
宇宙第一 IDE visual studio,各种跳转 Go To Definition,如果是内核的话,还有一个 Source Insight 。
lyhiving
2021-08-24 19:01:00 +08:00
我刚用一个月搞定某 ERP,一样都是靠猜,确保到数据库一致。简直抓狂
neutrino
2021-08-24 19:07:14 +08:00
用 printf 解决 var dump 问题即可
nevin47
2021-08-24 19:32:28 +08:00
刚想说把 GDB 学会比 var_dump 不知道好用多少,就看到 LZ 说的:GDB 还没空学怎么用。

好好把 GDB 学会吧,用不了多久的。
另外从 LZ 描述看,应该 Xdebug 也用得少,推荐一并学学
stallman
2021-08-24 19:38:03 +08:00
感同身受。从 py 转到 C++ + 不了解的业务。偶尔被一个问题困惑的要抓狂,耐心 耐心还是他娘的耐心
BeautifulSoap
2021-08-24 19:46:56 +08:00
我寻思就算是 PHP 你调试程序也有 xdebug 可以下断点啊,而且有时候时候用 xdebug 看数据结构啊控制流程啊也比你 var_dump 方便很多啊

这不是语言的问题,单纯是调试方法论的问题
joshua7v
2021-08-24 20:17:03 +08:00
调试工具一定要熟
毕竟大部分时间都是在调试
就调试工具来说 windows 上的工具优秀很多
ReferenceE
2021-08-24 20:41:18 +08:00
转 Java 吧,C#
@Rwing 🐶都不用

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/797738

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX