如果你在MacOS上使用GDB工具载入Golang程序时无法载入,这篇文章可以解决。本文不具体介绍调试的方法,网上的文章太多了就不赘述了。

cgdb使用的是gdb的内核,方法和原理试用本文。

问题分析

最近接触Go语言,看了慕课网的这篇文章,里面介绍的Go函数,有一种JavaScript的风格,把我弄迷糊了。记得刚接触JavaScript的时候,什么匿名函数自执行,弄的是晕头转性。决定使用调试器对这篇文章中的示例代码进行调试。

找了很多文章介绍GDB调试Golang程序的文章都不能载入。

Type "apropos word" to search for commands related to "word"...

Reading symbols from gen...(no debugging symbols found)...done.

Loading Go Runtime support.

应该是这些文章的作者都用的Linux操作系统吧,在我这里不起作用。Go语言的官网文档也没有提到这个问题。

通过查阅stackoverflow,才找到解决的方法。

解决方法

在执行go build的时候添加-ldflags=-compressdwarf=false参数。或,添加以下环境变量export GOFLAGS="-ldflags=-compressdwarf=false"。

图片中的12行源代码版权归慕课网所有,仅供效果展示,无意侵犯。

其他问题

如果你发生了上面的问题,很有可能可出现了这个问题

During startup program terminated with signal SIGTRAP, Trace/breakpoint trap.

brew unlink gdb

brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/9ec9fb27a33698fc7636afce5c1c16787e9ce3f3/Formula/gdb.rb

(可选) brew pin gdb 防止gdb更新

LINUX上使用GDB单步调试Chromium Android C++代码。

###动机###在LINUX使用GDB单步调试Chromium Android C++代码. [1]编译android平台Chromium, 修改GN文件中编译选项:-g -O0 使得编译优化更少,便 ...

Visual Studio 2015中使用gdb远程调试linux程序

VS的debug功能非常强大,相比而言linux上的图形化调试一直不是很好用. 如果可以使用VS来调试linux程序,应该是一件比较愉快的事情. 这在2015中变得可能,因为从2015开始VS支持An ...

29、应用调试之使用GDB来调试应用程序

说明:gdb可以实现源代码单步调试 原理: 1.gdb在PC机上运行,gdbserver在arm开发板上运行,gdbserver在开发板上相当于父进程,应用相当于子进程,PC上gdb发命令给gdbse ...

关于macOS Sierra无法使用gdb进行调试的解决方案

1.对gdb进行签名,签名过程详见:http://jingyan.baidu.com/article/d169e1864dc24d436611d839.html: 2.重新启动系统,同时按住键盘上的c ...

windows下使用MinGW的调试工具gdb.exe调试C程序

1.编译源代码 C:MinGW\bin>gcc.exe -g -o program.exe program.c 编译选项上要加上“g”,这样生成的目标程序会含有调试内容,再用gdb调试的时候才能 ...

gdb 断点调试C程序

最近在看CS50的公开课,视频中david用gdb调试C,我跟着敲,一样的代码但是却显示效果与他不一样.因为他的程序是编译好了的,所以也没看到编译步骤,后来回想一下他make 文件名 显示的代码中有一 ...

Golang程序调试工具介绍(gdb vs dlv)

原文:http://lday.me/2017/02/27/0005_gdb-vs-dlv/ 通过log库输出日志,我们可以对程序进行异常分析和问题追踪.但有时候,我也希望能有更直接的程序跟踪及定位工具 ...

macOS上实现Qt应用程序做文件关联打开

一.背景介绍 用Qt开发的应用程序要实现文件关联,双击时用默认关联的程序打开文件,在Windows上这个功能非常容易实现.Windows应用程序在安装的时候可以在注册表中写入相关的键值对.打开文件的时 ...

windows下使用eclipse调试C程序

一.环境描述 Eclipse IDE for C/C++ Developers version 4.4.0 MinGW  gcc/g++ version 4.8.1;gdb version 7.6.1 ...

随机推荐

浅谈CSS hack(浏览器兼容)

今天简单写一点关于浏览器兼容的处理方法,虽然百度上已经有很多,但是我还是要写! 先看一个图 这个图描述了2016年1月至8月网民们所使用的浏览器市场份额(来源:http://tongji.baidu. ...

codeforces 689 E. Mike and Geometry Problem 组合数学 优先队列

给定一个函数: f([l,r]) = r - l + 1; f(空集) = 0; 即f函数表示闭区间[l,r]的整点的个数 现在给出n个闭区间,和一个数k 从n个区间里面拿出k个区间,然后对这k个区间 ...

重新理解JS的6种继承方式

写在前面 一直不喜欢JS的OOP,在学习阶段好像也用不到,总觉得JS的OOP不伦不类的,可能是因为先接触了Java,所以对JS的OO部分有些抵触. 偏见归偏见,既然面试官问到了JS的OOP,那么说明这 ...

SpringMVC学习系列(12) 完结篇 之 基于Hibernate+Spring+Spring MVC+Bootstrap的管理系统实现

到这里已经写到第12篇了,前11篇基本上把Spring MVC主要的内容都讲了,现在就直接上一个项目吧,希望能对有需要的朋友有一些帮助. 一.首先看一下项目结构: InfrastructureProj ...

Watch OS2.0开发概述

(注:尊重劳动成果,转载请注明出处 http://www.cnblogs.com/xiaochunle/p/4620230.html ) Watch OS 2.0时代 北京时间2015年6月9日,WW ...

对于自定义标签类中JspBody类的invoke方法的理解

下面是javaeeAPI中对于invoke()方法的介绍: 其中的参数out是一个Writer类的对象,如果写null,就是将标签体内容写到了与此jsp相关联的JspWriter对象,也就是下面的w: ...

IMU 标定 | 工业界和学术界有什么不同?

点击"计算机视觉life"关注,置顶更快接收消息! 由于格式问题最好在公众号上观看 本文主要介绍了IMU基本结构原理和误差的 ...

智能化脚本autoit v3的简单了解

AutoIt v3 是一个类似 BASIC 脚本语言的免费软件, 它设计用于 Windows GUI(图形用户界面) 中进行自动化操作. 利用模拟键盘按键, 鼠标移动和窗口/控件的操作实现自动化任务. ...

calculate MAC,Lisence,Checksum and generate muti-file

/************************************************************************* * calculate MAC,Lisence,C ...

cgdb 调试_在MacOS上使用gdb(cgdb)调试Golang程序相关推荐

  1. 在海思芯片上使用GDB远程调试

    0.载GDB安装包,下载地址:Index of /gnu/gdb,使用8.2版本 1.见下面链接: 在海思芯片上使用GDB远程调试_大橙子疯的博客-CSDN博客_海思gdb调试 和 arm-linux ...

  2. GDB基础:MacOS上的GDB安装与设定

    这篇文章介绍一下MacOS下GDB的安装与设定方法.在MacOS上使用LLDB可能会更方便一些,但是对于习惯gdb的用于以及LLDB无法完成的地方,GDB还是有很多优势的. 目录 环境说明 安装与确认 ...

  3. mac java 安装教程_在 MacOS 上安装 Java

    在 MacOS 上安装 Java 本小节我们将介绍如何在 MacOS 平台安装 Java . 如果你想在其他平台安装 Java,请查看对应平台的安装教程: 1. 下载安装包 我们首先打开Oracle官 ...

  4. scala本地调试_如何编写自己的Java / Scala调试器

    scala本地调试 在本文中,我们将探讨Java / Scala调试器的编写和工作方式. 诸如Windows的WinDbg或Linux / Unix的gdb之类的本机调试器通过操作系统直接提供给它们的 ...

  5. electron 打开调试_构建基于 iOS 模拟器的前端调试方案

    作者:imyzf 本文将为大家介绍自动化控制 iOS 模拟器的原理,为开发基于 iOS 模拟器的前端调试方案提供帮助. 我们在开发 iOS App 内的前端页面时,有一个很大的痛点,页面无法使用 Sa ...

  6. Shield——一个防止在macOS上进行进程注入的应用程序

    最近有开发人员开发了一个基于Apple的Endpoint Security框架的应用程序(该应用程序的代码托管在GitHub上),可以防止macOS上的某些进程注入技术.但由于开发人员至今仍然没有获得 ...

  7. java ui调试_如何使用 IBM i System Debugger 调试 Java 程序

    当在 IBM i 上使用 Java 时,您可以使用 Qshell Interpreter 或者 CL 命令提供的 Java tools,在 Qshell 环境和 IBM i 环境上进行与 Java 开 ...

  8. c4d支持mac系统渲染器有哪些_在macOS Catalina发布前检查哪些应用程序不支持64位系统...

    macOS Catalina 让你喜欢的种种 Mac 体验都更进一步.你可以领略音乐.播客这两款全新 Mac app 的表演:在 Mac 上畅享各款自己心爱的 iPad app:拿起 iPad 和 A ...

  9. eac 反调试_自己动手制作一个过保护调试器

    一.起因 本人是新手第一次接触驱动开发的小白,事情是这样的,一个星期前突发奇想想做一个调试器保护程序用于调试游戏,既然要调试驱动保护的程序,自然也要深入驱动底层.做调试器必须要hook api去隐藏调 ...

最新文章

  1. 基于QT Plugin框架结构
  2. 数据结构与算法09 之图
  3. 【机器学习基础】数学推导+纯Python实现机器学习算法25:CatBoost
  4. linux简单使用命令发送邮件
  5. face++算法工程实习生面试
  6. 关于职业规划,如何自我实现?
  7. js 关闭子页面刷新父页面
  8. 如何评价一个专业PKM软件?
  9. MD5密码破解原理和网站
  10. 知识表示学习研究进展
  11. java中怎么输入中文_MultiMC下载-MultiMC中文实用版 v1.0
  12. (Modern Family S01E03) Part 1  PhilClaire  Phil看球赛 Dylan等Haley Clarie说Phil现在依然和Jay呆在一起很不自在
  13. linux系统(Centos7)安装VScode笔记
  14. 谈谈我做拼音搜索的一点经验
  15. java毕业生设计学术会议论文稿件管理系统计算机源码+系统+mysql+调试部署+lw
  16. android动态获取地理位置权限,Android6.0获取GPS定位和获取位置权限和位置信息的方法...
  17. 小白尝试c++编写飞机大战
  18. 患者到医院看病事件模拟
  19. 直线内插法的图怎么用计算机画,直线内插法(设计费).pdf
  20. 详细功能及代码快速帮您接入百度大脑人脸融合

热门文章

  1. python 数据库查询返回list或tuple
  2. python3的 pymysql把mysqldb库取代了,让python 3支持mysqldb的解决方法
  3. 数据分析JSON板块的基本使用(以分析比特币收盘价为例),附完整的Python代码及json文件详解---数据可视化
  4. Mysql在可视化工具navicat中如何解决输入小数变整数的问题,(改变小数位数)
  5. js使浏览器窗口最大化(适用于IE的方法)
  6. 前端页面-不可编辑控制
  7. C点滴成海------Dev C++怎么修改成简体中文
  8. Extjs grid 设置行字体颜色
  9. 什么都没学到,记录一个鼠标监听事件吧
  10. 通过日志恢复MSSQL数据例子