2019年6月5日
摘要:
SIGBUS 在 x86 Linux 上并不多見(jiàn),但一旦出現(xiàn),其調(diào)用堆棧常常讓人摸不著頭腦,加之信號(hào)問(wèn)題各平臺(tái)系統(tǒng)間差異較大,更讓人難以理清,這里稍微總結(jié)一下 x86 Linux 上大概有哪些情形會(huì)觸發(fā) BUS ERROR. 文件映射訪問(wèn)異常 這是 SIGBUS 在用戶態(tài)最為常見(jiàn)的場(chǎng)景,也最容易觸發(fā)
閱讀全文
posted @ 2019-06-05 07:59
twoon
閱讀(8519)
推薦(0)
2019年6月4日
摘要:
運(yùn)行時(shí)替換函數(shù)對(duì) golang 這類(lèi)靜態(tài)語(yǔ)言來(lái)說(shuō)并不是件容易的事情,語(yǔ)言層面的不支持導(dǎo)致只能從機(jī)器碼層面做些奇怪 hack,往往艱難,但如能成功,那掙脫牢籠帶來(lái)的成就感,想想就讓人興奮。 gohook gohook 實(shí)現(xiàn)了對(duì)函數(shù)的暴力攔截,無(wú)論是普通函數(shù),還是成員函數(shù)都可以強(qiáng)行攔截替換,并支持回調(diào)原
閱讀全文
posted @ 2019-06-04 15:10
twoon
閱讀(12105)
推薦(2)
2017年2月6日
摘要:
前段時(shí)間業(yè)務(wù)反映某類(lèi)服務(wù)器上更新了 bash 之后,ssh 連上去偶發(fā)登陸失敗,客戶端吐出錯(cuò)誤信息如下所示: 圖 0 該版本 bash 為部門(mén)這邊所定制,但是實(shí)現(xiàn)上與原生版并沒(méi)有不同,那么這些錯(cuò)誤從哪里來(lái)? 是 bash 的鍋嗎 從上面的錯(cuò)誤信息可以猜測(cè),異常是 bash 在啟動(dòng)過(guò)程中分配內(nèi)存失敗所
閱讀全文
posted @ 2017-02-06 16:30
twoon
閱讀(9070)
推薦(31)
2016年9月5日
摘要:
0. PUB/SUB, XPUB/XSUB filtering happens at publisher sides when sockets are using a connected protocol(tcp or ipc or inproc) there are meta info excha
閱讀全文
posted @ 2016-09-05 10:21
twoon
閱讀(1872)
推薦(0)
2016年7月17日
摘要:
實(shí)現(xiàn) vector 的四則運(yùn)算 這里假設(shè) vector 的運(yùn)算定義為對(duì)操作數(shù) vector 中相同位置的元素進(jìn)行運(yùn)算,最后得到一個(gè)新的 vector。具體來(lái)說(shuō)就是,假如 則, 等于 。實(shí)現(xiàn)這樣的運(yùn)算看起來(lái)并不是很難,一個(gè)非常直觀的做法如下所示: 有了這個(gè)類(lèi),我們就可以把一個(gè)簡(jiǎn)單的運(yùn)算表達(dá)式的結(jié)果封裝
閱讀全文
posted @ 2016-07-17 02:03
twoon
閱讀(10298)
推薦(4)
2016年3月4日
摘要:
兩年多以前隨手寫(xiě)了點(diǎn)與 lock free 相關(guān)的筆記: "1" , "2" , "3" , "4" ,質(zhì)量都不是很高其實(shí)(讀者見(jiàn)諒),但兩年來(lái)陸陸續(xù)續(xù)竟也有些閱讀量了(可見(jiàn)劍走偏鋒的技巧是多容易吸引眼球)。筆記當(dāng)中在解決內(nèi)存釋放和 ABA 問(wèn)題時(shí)提到了 Hazard Pointer 這個(gè)東西,有兩
閱讀全文
posted @ 2016-03-04 20:40
twoon
閱讀(6421)
推薦(1)
2015年12月11日
摘要:
再次來(lái)寫(xiě)左值右值相關(guān)的東西我的內(nèi)心是十分惴惴不安的,一來(lái)這些相關(guān)的概念十分不好理解,二來(lái)網(wǎng)上相關(guān)的文章實(shí)在太多了,多少人一看這類(lèi)題目便大搖其頭,三來(lái)也怕說(shuō)不清反而誤導(dǎo)了別人,反復(fù)糾纏這些似乎無(wú)關(guān)大雅的語(yǔ)言細(xì)節(jié)實(shí)在也有成為 language lawyer 之嫌。但我還是決定再總結(jié)一次,因?yàn)檫@是我一直以
閱讀全文
posted @ 2015-12-11 16:50
twoon
閱讀(7084)
推薦(2)
2015年10月26日
摘要:
很多時(shí)候我們希望能夠用一個(gè)變量來(lái)保存和操作不同類(lèi)型的數(shù)據(jù)(比如解析文本創(chuàng)建 AST 時(shí)保存不同類(lèi)型的結(jié)點(diǎn)),這種需求可以通過(guò)繼承來(lái)滿足,但繼承意味著得使用指針或引用,除了麻煩和可能引起的效率問(wèn)題,該做法最大的不便還在語(yǔ)義上,指針和引用都不是值類(lèi)型。于是我們想到 union,union 對(duì)簡(jiǎn)單類(lèi)型來(lái)說(shuō)...
閱讀全文
posted @ 2015-10-26 18:02
twoon
閱讀(4020)
推薦(1)
2015年10月8日
摘要:
最近一段時(shí)間 c++ 社區(qū)里最火熱的話題莫過(guò)于 cppcon2015 了, isocpp 上一堆相關(guān)的新聞,其中有一個(gè) "頁(yè)面" 羅列了該會(huì)議的全部主題, 匆匆一瞥幾乎眼花繚亂,為期一個(gè)星期的會(huì)議竟有上百個(gè)演講,無(wú)論是數(shù)量還是內(nèi)容所覆蓋的范圍,比之去年都更加豐富,作為一個(gè)野生的 c++ 的愛(ài)好者,我...
閱讀全文
posted @ 2015-10-08 00:33
twoon
閱讀(2255)
推薦(1)
2015年3月5日
摘要:
注意:本文所說(shuō)的全局變量指的是 variables with static storage,措詞來(lái)自 c++ 的語(yǔ)言標(biāo)準(zhǔn)文檔。##**什么時(shí)候初始化**根據(jù) C++ 標(biāo)準(zhǔn),全局變量的初始化要在 main 函數(shù)執(zhí)行前完成,常識(shí)無(wú)疑,但是這個(gè)說(shuō)法有點(diǎn)含糊,main 函數(shù)執(zhí)行前到底具體是什么時(shí)候呢?是編譯...
閱讀全文
posted @ 2015-03-05 23:12
twoon
閱讀(45320)
推薦(13)