请问,打断点哪里是怎么判断要加在哪里。例如您上次上课讲的 是加在 exec_simple_query-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

请问,打断点哪里是怎么判断要加在哪里。例如您上次上课讲的 是加在 exec_simple_query

来自:PG中文社区技术圈 2022-07-01 11:23:33 290 1

请问,打断点哪里是怎么判断要加在哪里。例如您上次上课讲的 是加在 exec_simple_query 上,这个是怎么定的?

取消 提交回答
全部回答(1)
  • 云墩墩
    2022-07-01 12:32:26

    设置断点的原理是当程序运行到设置断点的地方会停下来,便于我们继续跟踪、查看相关变量装填、调试。在哪里设置断点要根据情况而定,一些经验如下:

    1. 保证设置断点的函数会被调用到,函数没有调用到就不会停下来,那设置了断点也没意义了。

    2. 尽量接近你的目的函数,如果你通过查看日志,已经知道了是某个函数出错了,可以直接在该函数设置断点,帮助跟踪定位问题。

    3. 尽量不设置在被大量调用的函数上,否则会不停的停到该断点上,会干扰调试。有时出问题时,在日志中可以看到问题函数,如果该函数会被调用到很多次,可以通过设置条件断点减少干扰。如 b src/main.cpp:127 if cnt==10

    4. 课上举例使用的exec_simple_query函数断点,因为一般的SQL都会进入,主要为了更好的给大家介绍SQL的执行流程,但一般情况问题发生的调用都比较深,最好先确定大致的问题函数再设置断点,效率会更高。

    5. 另外就是一些特殊情况,如启动流程、backend进程启动的情况、各种辅助进程的问题,需要找到对应程序的入口和对应的进程ID再进行调试。

    此答案来自钉钉群“PG|POLARDB技术进阶”

    0 0
相关问答

1

回答

简单网络管理协议(SNMP,Simple Network Management Protocol)

2022-04-12 19:10:11 218浏览量 回答数 1

1

回答

Shell 流程控制语句case ... esac 中的两个分号表示什么意思呢?

2021-12-04 15:35:21 210浏览量 回答数 1

1

回答

SQL-can we avoid duplicating records in a query?

2021-10-16 14:53:34 287浏览量 回答数 1

1

回答

java使用redis的keys命令时报错提示“Exception in thr?报错

2020-06-14 20:50:35 431浏览量 回答数 1

1

回答

java.lang.ArrayIndexOutOfBoundsException: 1 ?报错

2020-06-06 09:49:24 350浏览量 回答数 1

1

回答

请问WP7 XNA 下怎么动态更改XML文件的内容并保存,急~~!求大神帮助!报错 

2020-06-03 09:44:58 248浏览量 回答数 1

0

回答

esp8266乐鑫官方sdk3.0接入阿里云后,怎么使用动态注册获取device_secret?

2020-06-03 11:02:16 611浏览量 回答数 0

0

回答

java SDK 判断BUCKET 和 判断文件夹是否存在的时候报错

2018-11-15 22:33:28 659浏览量 回答数 0

0

回答

LLAP: Sub-Second Analytical Queries in Hive

2018-07-28 23:16:14 773浏览量 回答数 0

1

回答

javac中的source和target的区别

2016-02-25 16:34:07 2430浏览量 回答数 1
+关注
0
文章
5783
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载