青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
金慶的專欄
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)
相冊
公告照片
搜索
積分與排名
積分 - 660013
排名 - 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" 錯誤(11061)
2.?SVN中邪惡的replace(10986)
3.?VS2005編譯libevent(10434)
4.?混音算法的學習與研究(10239)
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 © 金慶
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
欧美一级片久久久久久久
|
欧美日韩国产成人
|
欧美激情中文不卡
|
欧美成人高清
|
免播放器亚洲
|
亚洲国产欧美一区二区三区同亚洲
|
99国产精品国产精品毛片
|
亚洲最快最全在线视频
|
亚洲欧美日本精品
|
葵司免费一区二区三区四区五区
|
欧美va亚洲va香蕉在线
|
欧美日韩三级视频
|
国内精品嫩模av私拍在线观看
|
亚洲国产成人精品久久久国产成人一区
|
欧美波霸影院
|
一区二区三区导航
|
久久久久久久999
|
欧美日韩精品免费看
|
国产欧美一区二区三区另类精品
|
曰韩精品一区二区
|
午夜免费电影一区在线观看
|
免费不卡视频
|
亚洲一区二区三区四区视频
|
欧美freesex8一10精品
|
国产视频不卡
|
中国日韩欧美久久久久久久久
|
久久国产欧美精品
|
亚洲精品国产精品国自产观看浪潮
|
亚洲欧美日韩综合
|
欧美精品在线一区
|
在线日韩av永久免费观看
|
亚洲天堂男人
|
欧美国产亚洲另类动漫
|
午夜精品一区二区三区在线视
|
女人香蕉久久**毛片精品
|
国产亚洲精品成人av久久ww
|
一本色道久久88精品综合
|
久久精品九九
|
最新国产精品拍自在线播放
|
欧美一区二区精品
|
欧美视频不卡
|
99精品99
|
亚洲国产精品综合
|
久久精品国产99国产精品澳门
|
国产精品成人观看视频免费
|
亚洲乱码国产乱码精品精98午夜
|
亚洲日本黄色
|
久久视频精品在线
|
午夜国产精品影院在线观看
|
国产精品夫妻自拍
|
亚洲私人影院在线观看
|
最新国产成人在线观看
|
欧美激情一区二区在线
|
亚洲日本成人网
|
欧美电影在线免费观看网站
|
久久免费视频在线
|
经典三级久久
|
美女视频网站黄色亚洲
|
久久疯狂做爰流白浆xx
|
国产三级精品在线不卡
|
久久理论片午夜琪琪电影网
|
久久精品视频在线观看
|
一区二区三区在线观看欧美
|
久久综合电影
|
久久午夜影视
|
91久久国产综合久久蜜月精品
|
欧美大片在线观看一区二区
|
美女露胸一区二区三区
|
亚洲精品网站在线播放gif
|
亚洲精品一区在线
|
国产精品久久久久免费a∨大胸
|
午夜久久久久久久久久一区二区
|
香蕉久久久久久久av网站
|
今天的高清视频免费播放成人
|
暖暖成人免费视频
|
欧美女人交a
|
久久国产精品久久国产精品
|
久久久久国色av免费看影院
|
亚洲精品欧洲
|
国产精品99久久久久久人
|
国产精品久久777777毛茸茸
|
欧美制服第一页
|
久久综合五月天婷婷伊人
|
亚洲精品一二
|
亚洲欧美在线看
|
亚洲激情中文1区
|
一区二区三区欧美成人
|
国产综合色产
|
妖精视频成人观看www
|
国产主播精品在线
|
亚洲欧洲日本在线
|
国产一区二区三区免费不卡
|
亚洲国产成人av
|
国产精品永久免费
|
亚洲高清视频的网址
|
免费试看一区
|
久久久久国色av免费看影院
|
99精品国产高清一区二区
|
亚洲欧美综合国产精品一区
|
亚洲日本视频
|
欧美一区久久
|
亚洲一区久久
|
欧美激情第三页
|
久久久久久国产精品mv
|
欧美日韩一区二区三区四区在线观看
|
久久久美女艺术照精彩视频福利播放
|
亚洲国产精品嫩草影院
|
亚洲婷婷在线
|
99视频一区二区
|
久久久中精品2020中文
|
香蕉久久夜色精品国产
|
欧美精品一区在线
|
欧美1区2区3区
|
国产日韩在线视频
|
9久re热视频在线精品
|
在线观看亚洲视频
|
欧美在线影院在线视频
|
午夜伦欧美伦电影理论片
|
欧美日韩国产成人高清视频
|
欧美激情综合色
|
亚洲国产91
|
久久免费高清
|
狂野欧美一区
|
国产亚洲va综合人人澡精品
|
亚洲一区二区三区精品在线
|
亚洲黄色毛片
|
在线成人中文字幕
|
久久人人爽国产
|
蜜桃av噜噜一区
|
精品av久久707
|
久久久久久精
|
免费观看成人www动漫视频
|
激情丁香综合
|
久久女同互慰一区二区三区
|
久久久999精品视频
|
国产一区亚洲
|
欧美亚洲一区二区在线观看
|
久久国产精品久久久久久电车
|
国产精品久久网站
|
午夜在线播放视频欧美
|
久久国产夜色精品鲁鲁99
|
国产午夜精品一区二区三区欧美
|
午夜日韩在线
|
久久综合色天天久久综合图片
|
一色屋精品亚洲香蕉网站
|
久久久久久久久久看片
|
欧美激情综合
|
亚洲一区精品视频
|
国产欧美日韩激情
|
久久久精品tv
|
亚洲人成网站在线观看播放
|
在线亚洲一区观看
|
国产精品任我爽爆在线播放
|
西瓜成人精品人成网站
|
亚洲一区二区三区激情
|
日韩写真在线
|
欧美日韩国产精品一区
|
国产精品99久久久久久白浆小说
|
亚洲高清视频在线观看
|
99在线精品视频在线观看
|
欧美日韩在线视频一区
|
午夜精品视频在线
|
亚洲高清视频在线观看
|
亚洲欧美在线aaa
|
亚洲盗摄视频
|
国产精品久久久久影院色老大
|
久久黄色级2电影
|
99精品国产99久久久久久福利
|
欧美制服丝袜第一页
|
最新成人在线
|
国产精品永久免费在线
|
女人天堂亚洲aⅴ在线观看
|
亚洲视频一区二区
|
欧美电影在线免费观看网站
|
亚洲一区二区日本
|
在线观看视频日韩
|
国产精品美女一区二区
|
暖暖成人免费视频
|
欧美一区二区视频免费观看
|
亚洲人成在线影院
|
久久这里只精品最新地址
|
亚洲特级片在线
|
亚洲第一狼人社区
|
国产欧美亚洲一区
|
欧美日韩国产系列
|
玖玖玖免费嫩草在线影院一区
|
亚洲无玛一区
|
99国产成+人+综合+亚洲欧美
|
久久综合网hezyo
|
久久精品女人天堂
|
香蕉亚洲视频
|
亚洲欧美在线播放
|
亚洲一区二区三区国产
|
日韩视频免费在线观看
|
…久久精品99久久香蕉国产
|
国产麻豆午夜三级精品
|
国产精品国产三级国产专播品爱网
|
欧美不卡高清
|
免费h精品视频在线播放
|
久久福利一区
|