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

做普通网站价格室内设计公司平面图

做普通网站价格,室内设计公司平面图,做网站开发,互联网信息平台前言 这里介绍一下 dnsmasq 的调试环境的搭建 这是一种比较常见的开远的 dns 服务器 git 仓库在 git://thekelleys.org.uk/dnsmasq.git dnsmasq 的编译 首先是 clone 代码, git clone git://thekelleys.org.uk/dnsmasq.git 然后是开始编译 dnsmasq 最顶层的目录结构如下…

前言

这里介绍一下 dnsmasq 的调试环境的搭建 

这是一种比较常见的开远的 dns 服务器 

git 仓库在 git://thekelleys.org.uk/dnsmasq.git

 

 

dnsmasq 的编译

首先是 clone 代码, git clone git://thekelleys.org.uk/dnsmasq.git

然后是开始编译 dnsmasq

最顶层的目录结构如下 

drwxr-xr-x  9 root root 4.0K Sep  4 02:19 ./
drwxr-xr-x  3 root root 4.0K Sep  4 02:19 ../
-rwxrwxrwx  1 root root   79 Sep  1 02:01 Android.mk*
drwxrwxrwx  2 root root 4.0K Sep  1 02:01 bld/
-rwxrwxrwx  1 root root 118K Sep  1 02:01 CHANGELOG*
-rwxrwxrwx  1 root root 105K Sep  1 02:01 CHANGELOG.archive*
drwxrwxrwx 23 root root 4.0K Sep  1 02:01 contrib/
-rwxrwxrwx  1 root root  18K Sep  1 02:01 COPYING*
-rwxrwxrwx  1 root root  35K Sep  1 02:01 COPYING-v3*
drwxrwxrwx  2 root root 4.0K Sep  1 02:01 dbus/
-rwxrwxrwx  1 root root  28K Sep  1 02:01 dnsmasq.conf.example*
-rwxrwxrwx  1 root root 5.8K Sep  1 02:01 doc.html*
-rwxrwxrwx  1 root root  28K Sep  1 02:01 FAQ*
-rwxrwxrwx  1 root root   22 Sep  1 02:01 .gitattributes*
-rwxrwxrwx  1 root root  277 Sep  1 02:01 .gitignore*
drwxrwxrwx  2 root root 4.0K Sep  1 02:01 logo/
-rwxrwxrwx  1 root root 7.7K Sep  4 02:18 Makefile*
drwxrwxrwx  4 root root 4.0K Sep  1 02:01 man/
drwxrwxrwx  2 root root 4.0K Sep  1 02:01 po/
drwxrwxrwx  2 root root 4.0K Sep  4 02:18 src/
-rwxrwxrwx  1 root root  310 Sep  1 02:01 trust-anchors.conf*
-rwxrwxrwx  1 root root   13 Sep  1 02:01 VERSION*

 

调试需要去掉 gcc 的优化, 以及增加调试信息, 更新 Makefile 

将 CFLAGS 的值配置为 “-Wall -O0 -g”

然后使用 make 进行编译 

root@ubuntu:~/docker/nginx/nginx/html/dns# make clean
rm -f src/*.mo src/*.pot
rm -f src/.copts_* src/*.o src/dnsmasq.a src/dnsmasq
rm -f src/dnsmasq_baseline
rm -f core */core
rm -f *~ contrib/*/*~ */*~
root@ubuntu:~/docker/nginx/nginx/html/dns# make
/bin/sh: 1: /root/docker/nginx/nginx/html/dns/bld/get-version: not found
/bin/sh: 1: /root/docker/nginx/nginx/html/dns/bld/pkg-wrapper: not found
/bin/sh: 1: /root/docker/nginx/nginx/html/dns/bld/pkg-wrapper: not found
/bin/sh: 1: /root/docker/nginx/nginx/html/dns/bld/pkg-wrapper: not found
/bin/sh: 1: /root/docker/nginx/nginx/html/dns/bld/pkg-wrapper: not found
/bin/sh: 1: /root/docker/nginx/nginx/html/dns/bld/pkg-wrapper: not found
/bin/sh: 1: /root/docker/nginx/nginx/html/dns/bld/pkg-wrapper: not found
/bin/sh: 1: /root/docker/nginx/nginx/html/dns/bld/pkg-wrapper: not found
/bin/sh: 1: /root/docker/nginx/nginx/html/dns/bld/pkg-wrapper: not found
/bin/sh: 1: /root/docker/nginx/nginx/html/dns/bld/pkg-wrapper: not found
/bin/sh: 1: /root/docker/nginx/nginx/html/dns/bld/pkg-wrapper: not found
/bin/sh: 1: /root/docker/nginx/nginx/html/dns/bld/pkg-wrapper: not found
/bin/sh: 1: /root/docker/nginx/nginx/html/dns/bld/pkg-wrapper: not found
/bin/sh: 1: /root/docker/nginx/nginx/html/dns/bld/pkg-wrapper: not found
/bin/sh: 1: /root/docker/nginx/nginx/html/dns/bld/pkg-wrapper: not found
/bin/sh: 1: /root/docker/nginx/nginx/html/dns/bld/pkg-wrapper: not found
/bin/sh: 1: /root/docker/nginx/nginx/html/dns/bld/pkg-wrapper: not found
make[1]: Entering directory '/root/docker/nginx/nginx/html/dns/src'
cc -Wall -O0 -g   -DVERSION='""'             -c cache.c
cc -Wall -O0 -g   -DVERSION='""'             -c rfc1035.c
cc -Wall -O0 -g   -DVERSION='""'             -c util.c
cc -Wall -O0 -g   -DVERSION='""'             -c option.c
cc -Wall -O0 -g   -DVERSION='""'             -c forward.c
cc -Wall -O0 -g   -DVERSION='""'             -c network.c
cc -Wall -O0 -g   -DVERSION='""'             -c dnsmasq.c
cc -Wall -O0 -g   -DVERSION='""'             -c dhcp.c
cc -Wall -O0 -g   -DVERSION='""'             -c lease.c
cc -Wall -O0 -g   -DVERSION='""'             -c rfc2131.c
cc -Wall -O0 -g   -DVERSION='""'             -c netlink.c
cc -Wall -O0 -g   -DVERSION='""'             -c dbus.c
cc -Wall -O0 -g   -DVERSION='""'             -c bpf.c
cc -Wall -O0 -g   -DVERSION='""'             -c helper.c
cc -Wall -O0 -g   -DVERSION='""'             -c tftp.c
cc -Wall -O0 -g   -DVERSION='""'             -c log.c
cc -Wall -O0 -g   -DVERSION='""'             -c conntrack.c
cc -Wall -O0 -g   -DVERSION='""'             -c dhcp6.c
cc -Wall -O0 -g   -DVERSION='""'             -c rfc3315.c
cc -Wall -O0 -g   -DVERSION='""'             -c dhcp-common.c
cc -Wall -O0 -g   -DVERSION='""'             -c outpacket.c
cc -Wall -O0 -g   -DVERSION='""'             -c radv.c
cc -Wall -O0 -g   -DVERSION='""'             -c slaac.c
cc -Wall -O0 -g   -DVERSION='""'             -c auth.c
cc -Wall -O0 -g   -DVERSION='""'             -c ipset.c
cc -Wall -O0 -g   -DVERSION='""'             -c pattern.c
cc -Wall -O0 -g   -DVERSION='""'             -c domain.c
cc -Wall -O0 -g   -DVERSION='""'             -c dnssec.c
cc -Wall -O0 -g   -DVERSION='""'             -c blockdata.c
cc -Wall -O0 -g   -DVERSION='""'             -c tables.c
cc -Wall -O0 -g   -DVERSION='""'             -c loop.c
cc -Wall -O0 -g   -DVERSION='""'             -c inotify.c
cc -Wall -O0 -g   -DVERSION='""'             -c poll.c
cc -Wall -O0 -g   -DVERSION='""'             -c rrfilter.c
cc -Wall -O0 -g   -DVERSION='""'             -c edns0.c
cc -Wall -O0 -g   -DVERSION='""'             -c arp.c
cc -Wall -O0 -g   -DVERSION='""'             -c crypto.c
cc -Wall -O0 -g   -DVERSION='""'             -c dump.c
cc -Wall -O0 -g   -DVERSION='""'             -c ubus.c
cc -Wall -O0 -g   -DVERSION='""'             -c metrics.c
cc -Wall -O0 -g   -DVERSION='""'             -c hash-questions.c
cc -Wall -O0 -g   -DVERSION='""'             -c domain-match.c
cc -Wall -O0 -g   -DVERSION='""'             -c nftset.c
cc  -o dnsmasq cache.o rfc1035.o util.o option.o forward.o network.o dnsmasq.o dhcp.o lease.o rfc2131.o netlink.o dbus.o bpf.o helper.o tftp.o log.o conntrack.o dhcp6.o rfc3315.o dhcp-common.o outpacket.o radv.o slaac.o auth.o ipset.o pattern.o domain.o dnssec.o blockdata.o tables.o loop.o inotify.o poll.o rrfilter.o edns0.o arp.o crypto.o dump.o ubus.o metrics.o hash-questions.o domain-match.o nftset.o
make[1]: Leaving directory '/root/docker/nginx/nginx/html/dns/src'

 

然后编译出来的 binary 如下, 其中包含了调试信息 

root@ubuntu:~/docker/nginx/nginx/html/dns# ll -h src/ | grep dnsmasq
-rwxr-xr-x 1 root root 1.1M Sep  4 02:35 dnsmasq*
-rwxrwxrwx 1 root root  62K Sep  1 02:01 dnsmasq.c*
-rwxrwxrwx 1 root root  60K Sep  1 02:01 dnsmasq.h*
-rw-r--r-- 1 root root 112K Sep  4 02:35 dnsmasq.o

 

查看 elf 中的 调试信息如下

root@ubuntu:~/docker/nginx/nginx/html/dns# readelf -a src/dnsmasq | grep debug[28] .debug_aranges    PROGBITS         0000000000000000  00072065[29] .debug_info       PROGBITS         0000000000000000  000727e5[30] .debug_abbrev     PROGBITS         0000000000000000  000e8703[31] .debug_line       PROGBITS         0000000000000000  000ee9d0[32] .debug_str        PROGBITS         0000000000000000  001010b4[33] .debug_ranges     PROGBITS         0000000000000000  00108426

 

 

 clion 中进行调试 

将编译好的整个项目拷贝到 调试机器, 该目录如下, 这里是 dnsmasq 的 binary 

 

然后 clion 中新建 MakeApplication, 配置 Target, 配置 binary, 配置程序参数 

这里为了演示, 配置为 “–version”

 

然后调试如下, 这里是 “--version” 输出的地方的具体的代码, 可以看到 断点停下来了

调试环境搭建完成 

 

 

 

 

 

http://www.dtcms.com/a/396777.html

相关文章:

  • 做网站等保收费wordpress加导航菜单
  • 宁夏网站建站wordpress图片延时加载
  • 四川建设数字证书网站网站建设微信公众号小程序app
  • 付网站建设服务费记账重庆公司注册服务
  • 网站建设必备重庆市建筑工程造价信息网
  • 360网站卖东西怎么做的建筑公司起名字寓意好的字
  • 域名申请而完成以后怎么做网站庆阳网站设计公司
  • 大连市营商环境建设局门户网站wordpress图像描述
  • 网站建设工作稳定吗龙岗网站建设 公司推广
  • 制作网站规划书卖东西的网站有哪些
  • 网站分析 工具温州网站设计网站建设网站
  • 网站开发思维导图电脑 手机 微信网站开发
  • 5g建设多少网站ih5平台发展前景
  • 重庆潼南网站建设报价织梦网站怎么修改内容
  • 网站做视频窗口接口收费么网站源代码怎么上传
  • 网站网络推广dw网页设计源代码
  • wordpress 用户中心插件赣州网站优化制作
  • 网站框架都有什么用登录入口注册
  • 自己做的网站怎么发布新媒体营销和网络营销
  • 公司网站建设要多少钱免费网站收录网站推广
  • 网站推广优化张店wordpress 简历插件
  • 网站设计师 网站开发工程师可以在线编程的网站
  • 企业网站规划财经直播的网站开发一个多少钱
  • 沈阳网站制作定制厂家怎样查询百度收录和排名情况
  • 兴城泳装电子商务网站建设怎么cms做网站
  • 个人网站布局展厅设计多少钱一平米
  • 做写字楼的网站有哪些资料免费网站建设程序下载
  • 河北省建设网站锁安装什么驱动网站建设项目延期验收申请
  • wordpress免费网站模板下载深圳软件开发定制
  • 重庆手机网站开发环江住房和城乡建设部网站