1. 程式人生 > >gdb single stepping until exit from function *, which has no line number information解決辦法

gdb single stepping until exit from function *, which has no line number information解決辦法

前提:編譯程式使用的4.7.2版本的gcc,同時編譯的時候也使用了-g3的引數。如果不瞭解-g3的含義,可以參見:https://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html#Debugging-Options

利用gdb單步執行理解剛接手的程式的時候,提示下圖中的錯誤:



查了很多的資料,找了很多的解決辦法:

1、更改gdb7.2版本到gdb7.8; 

2、編譯的時候加入-gdwarf-2等編譯選項。

都不能解決問題。

後來認真看了編譯程式的BUILD檔案,發現程式加入了-fvisibility=hidden以及-Wl,-Bsymbolic這些連結選項。

恍然大悟。加入-fvisibility=hidden這個選項導致不能看到行號等資訊。

那當初編譯程式的人為什麼加入“-fvisibility=hidden”或者“-Wl,-Bsymbolic”這些連結選項呢?

主要是想解決多個共享庫符號表衝突的問題。每個共享庫用自己庫中的符號表。

具體含義也可以參見:

https://stackoverflow.com/questions/6538501/linking-two-shared-libraries-with-some-of-the-same-symbols/6540059#6540059

另外,對於編寫c++程式,要養成好的程式設計習慣,加入名稱空間,減少符號衝突的可能。

相關推薦

gdb single stepping until exit from function *, which has no line number information解決辦法

前提:編譯程式使用的4.7.2版本的gcc,同時編譯的時候也使用了-g3的引數。如果不瞭解-g3的含義,可以參見:https://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html#Debugging-Options 利用gd

linux系統post-commit hook failed (exit code 255) with no output的終極解決辦法

修改你的指令碼檔案 把你以前的都內容都註釋掉,換成我下面的試試就知道行不行了 【注意:】自己記得把專案目錄/var/www/html改為自己實際情況的 #!/bin/sh REPOS="$1" REV="$2" export LANG=en_US.UTF-8 SVN_PATH=/

對於kafka Missing required configuration “zookeeper.connect” which has no default value

記錄一下最近學習kafka的一些坑: 最近學習kafka的時候,在自己的windows10機器上順利跑了出來,但是因為想在linux伺服器上嘗試的原因,便首先在自己在自己之前本來用於翻牆,後棄用的一個centos伺服器上除錯,跟著案例一步一步走的時候,到最後一步發現這臺雲服記憶體太小

in ?? () from /lib/ld-linux-armhf.so.3的解決辦法

背景:在turtlebot3的樹莓派3代上用gdb除錯ROS程式,系統為Ubuntu MATE burger 16.04, 架構為armhf。 首先我在我的ros的launch file 裡<node           />里加入一行launch-prefix

Call to undefined function curl_init() |CURL擴充套件無效之終極解決辦法wamp

本地開發環境使用WAMP快速搭建,在使用PHP的CURL時可能會存在無法載入情況,這裡提供終極解決方法。 1、在php.ini配置檔案中啟用 php_curll.dll 擴充套件; (環境已經自動附帶 libeay32.dll,ssleay32.dll)。 2、網路上各種將libeay32.dll、ssle

eclipse在Ubuntu12.04下出現錯誤:JVM terminated. Exit code=13 /usr/bin/java的一種解決辦法

最近想在64位Ubuntu12.04下安裝一個c/C++的整合開發環境,優先想到的就是eclipse C++版,但是一直報錯,差不多是下面輸出<span style="font-size:14p

Faster Read: Learning a Deep Single Image Contrast Enhancer from Multi-Exposure Images

keywords: CNN(Convolutional Neural Network), SICE,MEF 論文名稱: 提高影象對比度的方法分單影象提高對比度演算法(SICE)和同一場景多個曝光度合成的演算法(MEF)。MEF之後的圖片可以展現更多的圖片細節,

【bug】warning #13200: No emms instruction before return from function

DATE: 2018.11.14 1、問題描述 採用Intel編譯器編譯使用MMX指令(Inline assembly)的彙編程式碼時,報下面的警告: warning #13200: No emms instruction before return fro

SmartSVN無法提交的解決辦法:because it was moved from which is not part of the commit; both sides of the move

  對工程大規模改名,一路磕磕碰碰總算成功了。然後提交SVN,報錯:   because it was moved from XXX which is not part of the commit; both sides of the move    那我分開提交怎麼樣?

織夢提示Call to undefined function解決辦法

新版 mon 版本 oba glob www 代碼 iso urn 解決辦法如下: 打開/include/common.func.php,搜索“function RunApp”,在這個函數的上面添加織夢新版本新增的函數:dede_htmlspecialchars(),添

This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its de 錯誤解決辦法

rep data- button title box mysq set read .net 這是我們開啟了bin-log, 我們就必須指定我們的函數是否是1 DETERMINISTIC 不確定的2 NO SQL 沒有SQl語句,當然也不會修改數據3 READS SQL D

flask_route錯誤:AttributeError: 'function' object has no attribute 'route'

劃線 spa blue sof ros obj 下一個 dex ews 問題:   路由完全正確,當只有一個名為home的函數處理這個路由時候,下一個路由處理函數,總是提示沒有這個rotue屬性 Traceback (most recent call last): F

Error: failure: repodata/repomd.xml from fedora: [Errno 256] No more mirrors to try.

ror 目錄 mirror cnblogs logs omd odata 不存在 yum 記錄一個小問題,重新買的linux換yum源的時候一直提示: Error: failure: repodata/repomd.xml from fedora: [Errno 25

Fatal error: Call to undefined function curl_init()解決辦法

com php_curl tar def true apache ini lan blank 問題描述: 在Windows SERVER 2012RC 64 bit OS, php 5.6.3的環境下,搭建好了php運行環境。但是在調用 curl_init() 方法時

解決辦法】Undefined command/function 'mapminmax'.

需要 get amp 查看 輸出 處理 接受 矩陣 mman 原因: 低版本7.0中沒有mapminmax這個函數,對應的歸一化函數是premnmx和postmnmx,具體請查看著兩個函數的用法升級到2009就肯定可以正常使用這個函數了 解釋: premnmx、tra

$.cookie is not a function;原因及解決辦法

方法 () 通過 js文件 func cti query 原本 cookie 一、沒有引入jQuery庫文件二、jQuery庫文件和jquery.cookie.js文件的順序問題。須先引入jQuery庫文件再引入cookie插件文件三、頁面的加載順序所導致大家的問題大多出在

全網最詳細的跑python2.7時出現from mysql import connector ImportError: No module named mysql的問題解決辦法(圖文詳解)

領域 conda load 機器學習 同時 精華 center mod con     不多說,直接上幹貨! C:\Users\lenovo>pip install mysql-connector-python-rf==2.1.3 Col

This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its 錯誤解決辦法

eat blog clas min clear gin bsp term rmi This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and

ValueError: Cannot feed value of shape (2,) for Tensor u'Placeholder_2:0', which has shape '(1, 2)'

cnblogs RR tail AR com blog TE err 必須 在tensorflow中你在做數據餵養的時候你輸入的是一個一維數組如:[22,33],他的shape 為(2,) 在tensorflow中一維數組是不能與同樣的一維數組進行運算的,必須通過resha

2.在使用"node-xlsx" 模塊時報" TypeError: Object function Object() { [native code] } has no method 'assign' "

export www. 但是 pla excel www 由於 typeerror 我沒 最近做一個關於數據庫數據以xls格式導出的功能。由於之前用的"excel-export"模塊功能有不是很全。也有可能是我沒完全弄明白怎麽使用這個模塊生成多頁的excel文件吧。後來就選