cgdb 调试_在MacOS上使用gdb(cgdb)调试Golang程序
如果你在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程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Navicat查看建表代码ddl
- 下一篇: VMware Workstation 与