青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
金慶的專欄
C++博客
::
首頁
::
新隨筆
::
聯系
::
聚合
::
管理
::
423 隨筆 :: 0 文章 :: 454 評論 :: 0 Trackbacks
公告
我的隨筆
我的評論
我參與的隨筆
留言簿
(12)
給我留言
查看公開留言
查看私人留言
隨筆分類
(502)
1. C/C++(166)
(rss)
2. 網游開發(108)
(rss)
3. Golang(20)
(rss)
4. Linux/Unix(30)
(rss)
5. 軟工與管理(44)
(rss)
6. Python(23)
(rss)
7. Erlang(18)
(rss)
8. Rust(16)
(rss)
9. 其它(77)
(rss)
隨筆檔案
(423)
2023年1月 (1)
2022年11月 (1)
2022年10月 (2)
2022年9月 (1)
2022年4月 (6)
2022年1月 (2)
2021年12月 (4)
2021年11月 (6)
2021年10月 (2)
2021年9月 (2)
2021年8月 (7)
2021年7月 (2)
2021年5月 (2)
2021年3月 (1)
2021年2月 (2)
2021年1月 (1)
2020年12月 (1)
2020年10月 (1)
2020年9月 (5)
2020年8月 (1)
2020年7月 (1)
2020年6月 (1)
2020年4月 (2)
2020年3月 (3)
2020年2月 (3)
2020年1月 (1)
2019年12月 (1)
2019年9月 (2)
2019年4月 (2)
2019年1月 (1)
2018年12月 (1)
2018年11月 (3)
2018年10月 (1)
2018年9月 (3)
2018年8月 (3)
2018年7月 (2)
2018年6月 (4)
2018年5月 (4)
2018年4月 (4)
2018年3月 (1)
2018年1月 (2)
2017年12月 (2)
2017年11月 (3)
2017年10月 (3)
2017年8月 (7)
2017年7月 (1)
2017年6月 (1)
2017年5月 (3)
2017年4月 (3)
2017年3月 (3)
2017年2月 (2)
2017年1月 (2)
2016年12月 (5)
2016年11月 (2)
2016年10月 (2)
2016年9月 (1)
2016年8月 (6)
2016年7月 (3)
2016年6月 (2)
2016年5月 (4)
2016年4月 (2)
2016年3月 (2)
2016年1月 (3)
2015年12月 (2)
2015年11月 (2)
2015年10月 (1)
2015年8月 (2)
2015年7月 (1)
2015年6月 (1)
2015年5月 (4)
2015年4月 (3)
2015年3月 (4)
2015年2月 (5)
2015年1月 (4)
2014年12月 (3)
2014年11月 (3)
2014年10月 (2)
2014年9月 (3)
2014年8月 (1)
2014年4月 (4)
2014年3月 (1)
2014年2月 (4)
2014年1月 (5)
2013年12月 (5)
2013年11月 (5)
2013年9月 (2)
2013年8月 (2)
2013年7月 (2)
2013年6月 (2)
2013年5月 (1)
2013年1月 (2)
2012年12月 (1)
2012年11月 (1)
2012年9月 (1)
2012年8月 (3)
2012年7月 (2)
2012年6月 (1)
2012年4月 (3)
2012年3月 (2)
2012年2月 (3)
2012年1月 (2)
2011年11月 (2)
2011年10月 (3)
2011年9月 (2)
2011年8月 (2)
2011年7月 (3)
2011年6月 (2)
2011年5月 (3)
2011年1月 (2)
2010年12月 (1)
2010年11月 (2)
2010年10月 (2)
2010年9月 (3)
2010年8月 (2)
2010年7月 (3)
2010年6月 (1)
2010年5月 (3)
2010年4月 (3)
2010年3月 (5)
2010年2月 (4)
2010年1月 (4)
2009年12月 (2)
2009年11月 (3)
2009年10月 (4)
2009年9月 (3)
2009年8月 (2)
2009年7月 (4)
2009年6月 (1)
2009年5月 (3)
2009年4月 (4)
2009年3月 (2)
2009年2月 (5)
2009年1月 (1)
2008年12月 (7)
2008年11月 (4)
2008年10月 (1)
2008年9月 (3)
2008年8月 (4)
2008年7月 (3)
2008年6月 (4)
2008年5月 (6)
2008年4月 (7)
2008年3月 (6)
2008年1月 (5)
2007年12月 (7)
2007年11月 (4)
2007年10月 (5)
2007年9月 (6)
2007年8月 (8)
2007年7月 (5)
相冊
公告照片
搜索
積分與排名
積分 - 659813
排名 - 25
最新評論
1.?re: boost::asio::spawn 將一統C++網絡庫
asio 成為C++首選網絡庫
--linda
2.?re: log4cxx中文輸出錯誤補丁
評論內容較長,點擊標題查看
--金慶
3.?re: mingw編譯OrzNet
能發送一個mingw編譯好的OrzNet庫給我嗎? liuweiqcxy@163.com
謝謝!
--劉威
4.?re: log4cxx中文輸出錯誤補丁
評論內容較長,點擊標題查看
--bigbad
5.?re: log4cxx中文輸出錯誤補丁
評論內容較長,點擊標題查看
--bigbad
閱讀排行榜
1.?"multiple definition of" 錯誤(11060)
2.?SVN中邪惡的replace(10984)
3.?VS2005編譯libevent(10430)
4.?混音算法的學習與研究(10237)
5.?C調用lua腳本的效率測試(9020)
評論排行榜
1.?VC6正在被拋棄(35)
2.?VS2005編譯libevent(21)
3.?"multiple definition of" 錯誤(18)
4.?C++引用優于指針(17)
5.?ACE與ASIO之間關于Socket編程的比較(16)
lua變量缺少local造成unity死鎖
# lua變量缺少local造成unity死鎖
(金慶的專欄 2020.9.1)
這幾天在開發 grpc-tolua, 可以在 unity 項目中使用 lua 發送 grpc 請求,無需生成代碼.
現已實現 route_guide 示例中的全部4種rpc.
見:https://github.com/jinq0123/grpc-tolua
昨天的開發中就發現,運行 RecordRoute 和 RouteChat 之后Unity無法再次運行,必須殺進程。
在 await 語句添加 `ConfigureAwait(false)` 之后,好像 RouteChat 修復了,但 RecoreRoute 依舊。
ConfigureAwait(false) 保證了 await 之后不會搶占主線程,是解決死鎖的一種方法。
grpc 源碼中的 await 同樣都跟著這句。
今天再次測試,發現 RouteChat 并未真正修復,仍有較大可能卡死。
最初的猜想是 Lua 協程,C# 異步造成線程死鎖,因為對異步不熟,總是懷疑使用有誤。
后來轉變為查找讓 Unity 卡死的阻塞式操作,但是因為日志顯示不全,找遍代碼都沒結果。
除了在自己的代碼中查找錯誤,還在 tolua 代碼,grpc 代碼中查找,到處懷疑。
今天一整天都在添加日志,重啟Unity中度過。提出各種猜想,又反復驗證。
依次采用了以下方法:
* 比較C# route_guide 代碼,查找區別
* 為什么是 client streaming 類型的 rpc 有錯
* 查看 tolua 協程,Timer
* 添加 Delay, 更改協程的運行次序,提高或降低復現幾率
* 函數入口和返回添加日志,證明其沒有阻塞
查找錯誤的方法是在代碼中添加日志,找到異常之處。
最終的現象是Unity沒有Update()調用了,全部卡死。
錯誤源代碼是這樣的,錯誤版本中 awaiter 前面沒有 local.
```lua
local function await(awaitable)
local awaiter = awaitable:GetAwaiter()
coroutine.wait_until(function()
return awaiter.IsCompleted
end)
end
```
因為想實現一個特殊版本的 await() 用于測試, 把 awaiter.IsCompleted 改為總是 false。
復制代碼時,發現了變量缺少 local.
如果這個成為全局變量,第2次函數調用就會更改第1次調用的變量,我立刻意識到了這就是死鎖的原因。
添加 local 之后測試,一切都正常了。
分析結果是因為 awaiter 更改后,await() 在任務完成前就返回了,
以致于后面的讀取成為阻塞式操作,阻塞了主線程。
查錯效率低的主要問題是 Unity 日志在卡死前的日志沒有顯示,這一點直到最后死鎖復盤時才發覺。
因為日志缺失,根據日志得出的所有判斷幾乎都錯了。
本來可以根據日志快速定位的原因,現在完全找錯方向。
如果有工具警告全局變量,就可以避免這個錯誤。
Unity Profiler, VS Debugger 因為 Unity 完全卡死,所以沒什么幫助。
posted on 2020-09-02 13:37
金慶
閱讀(426)
評論(0)
編輯
收藏
引用
所屬分類:
2. 網游開發
只有注冊用戶
登錄
后才能發表評論。
【推薦】100%開源!大型工業跨平臺軟件C++源碼提供,建模,組態!
相關文章:
How are dtLinks created in NavMesh
UE4 Blueprint Multiple Event BeginPlay
第9代游戲主機
Canvas Scaler 的3種模式
幀同步是否允許客戶端指定命令幀號
rpc應答太快造成請求超時
測試 tolua 例子 TestErrorStack
lua變量缺少local造成unity死鎖
C# tolua 之間互傳 byte[]
Unity使用異步grpc
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © 金慶
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
亚洲综合丁香
|
亚洲视频在线观看网站
|
久久精品视频导航
|
激情五月婷婷综合
|
亚洲手机在线
|
久久久免费精品视频
|
亚洲国产欧美日韩精品
|
欧美xxx成人
|
日韩图片一区
|
美女在线一区二区
|
亚洲午夜激情免费视频
|
国产精品v日韩精品v欧美精品网站
|
一区二区欧美在线
|
女主播福利一区
|
欧美自拍偷拍午夜视频
|
日韩视频免费大全中文字幕
|
国产精品久久影院
|
久久精品国产亚洲5555
|
夜夜嗨av一区二区三区免费区
|
欧美一区二区私人影院日本
|
亚洲男人的天堂在线
|
在线亚洲精品
|
在线国产亚洲欧美
|
国产精品久久影院
|
老牛嫩草一区二区三区日本
|
亚洲一区二区三区欧美
|
亚洲人成高清
|
欧美日韩三级电影在线
|
免费观看在线综合色
|
性欧美8khd高清极品
|
日韩视频免费在线
|
亚洲大胆av
|
亚洲一区亚洲
|
亚洲线精品一区二区三区八戒
|
亚洲人妖在线
|
亚洲毛片播放
|
亚洲黄色成人网
|
亚洲黄色高清
|
亚洲综合色网站
|
亚洲一区二区不卡免费
|
一区二区欧美在线
|
亚洲免费人成在线视频观看
|
伊人久久亚洲热
|
亚洲国产欧美日韩
|
亚洲乱码国产乱码精品精
|
99国产精品久久
|
午夜精品久久久久久久久
|
亚洲专区在线
|
麻豆freexxxx性91精品
|
欧美国产日韩亚洲一区
|
91久久久一线二线三线品牌
|
亚洲精品视频在线播放
|
亚洲日本电影在线
|
亚洲少妇诱惑
|
久久久午夜精品
|
毛片一区二区三区
|
国产精品久久久久久av下载红粉
|
亚洲一区二区三区三
|
亚洲国产精品成人va在线观看
|
亚洲精品久久久蜜桃
|
亚洲网站在线播放
|
久久精品夜色噜噜亚洲a∨
|
亚洲风情亚aⅴ在线发布
|
91久久久国产精品
|
香蕉成人久久
|
久久精品首页
|
葵司免费一区二区三区四区五区
|
亚洲激情在线观看
|
午夜日韩在线
|
国产精品永久免费
|
亚洲一品av免费观看
|
欧美成人官网二区
|
久久国产精品亚洲77777
|
亚洲天堂久久
|
亚洲三级免费
|
欧美成人在线免费观看
|
在线播放中文一区
|
久久久久88色偷偷免费
|
亚洲一区二区免费看
|
欧美日韩影院
|
亚洲精品久久久久久久久久久久久
|
久久久久久久成人
|
亚洲欧美在线另类
|
国产精品成人免费精品自在线观看
|
日韩视频专区
|
亚洲免费av网站
|
欧美日韩精品国产
|
亚洲一区综合
|
久久久精品一区
|
亚洲国产精品va在线观看黑人
|
免费久久99精品国产自在现线
|
亚洲欧美日韩在线高清直播
|
国产美女精品
|
久久综合久久综合九色
|
免费91麻豆精品国产自产在线观看
|
国内精品久久久久国产盗摄免费观看完整版
|
亚久久调教视频
|
欧美一级播放
|
亚洲精品美女久久久久
|
亚洲影视中文字幕
|
亚洲人成网站色ww在线
|
一区二区三区波多野结衣在线观看
|
欧美午夜电影在线
|
久久久美女艺术照精彩视频福利播放
|
国产精品久久福利
|
久久在线免费视频
|
欧美成人蜜桃
|
久久久久欧美
|
先锋影音一区二区三区
|
久久综合色8888
|
亚洲免费婷婷
|
免费欧美电影
|
亚洲欧美日韩一区二区在线
|
久久久亚洲一区
|
中文国产成人精品久久一
|
亚洲一区欧美一区
|
日韩视频免费在线
|
欧美一区二视频
|
一区二区三区久久网
|
亚洲欧美日韩在线播放
|
一本大道久久精品懂色aⅴ
|
99国产精品视频免费观看一公开
|
一本久久知道综合久久
|
91久久精品www人人做人人爽
|
欧美在线www
|
一区二区三区免费看
|
欧美成年人视频
|
亚洲国产精品电影在线观看
|
国产精品久久久久久久电影
|
亚洲国产高清自拍
|
在线播放豆国产99亚洲
|
亚洲欧美亚洲
|
欧美一区日本一区韩国一区
|
国产精品一区二区在线观看网站
|
亚洲美女免费精品视频在线观看
|
亚洲精品1区2区
|
欧美日本一区二区视频在线观看
|
欧美大成色www永久网站婷
|
国产日韩精品一区
|
久久成人免费网
|
免费看的黄色欧美网站
|
91久久精品国产91久久性色tv
|
欧美日韩亚洲一区二区三区在线
|
亚洲成色777777女色窝
|
在线观看91精品国产麻豆
|
久久精品一区二区三区四区
|
国产在线视频欧美一区二区三区
|
一区二区三区精品视频在线观看
|
久久久国产精品亚洲一区
|
一区二区精品在线观看
|
一本大道久久a久久精二百
|
欧美人成免费网站
|
亚洲欧美国产一区二区三区
|
久久久亚洲国产天美传媒修理工
|
国产欧美日韩视频在线观看
|
亚洲性视频网址
|
欧美日韩一级片在线观看
|
亚洲淫性视频
|
亚洲激情成人
|
亚洲视频一二区
|
亚洲成人自拍视频
|
国产精品日本一区二区
|
久久综合久久综合九色
|
中文久久乱码一区二区
|
欧美黄色影院
|
欧美一区综合
|
亚洲综合999
|
亚洲自拍偷拍福利
|
亚洲伦理网站
|
91久久精品国产91久久性色tv
|
国产视频亚洲精品
|
国产精品久久久久久久第一福利
|
免费亚洲一区二区
|
性欧美在线看片a免费观看
|
99re这里只有精品6
|
亚洲国产精品一区
|
欧美黄色一级视频
|
欧美激情一区二区三区成人
|
免费亚洲一区二区
|
久久―日本道色综合久久
|
欧美在线免费观看亚洲
|
香蕉久久国产
|
欧美专区日韩专区
|
久久久蜜桃一区二区人
|
久久久久中文
|
六月婷婷一区
|
欧美激情女人20p
|
亚洲人成人一区二区三区
|
蜜桃久久精品乱码一区二区
|
葵司免费一区二区三区四区五区
|
久久免费99精品久久久久久
|
久久婷婷影院
|
久久午夜视频
|
亚洲免费久久
|
一区二区黄色
|
久久成人一区
|
欧美日韩精品免费观看视一区二区
|
欧美成人乱码一区二区三区
|
欧美一区二区视频在线
|
久久综合给合
|