Cefsharp: ์Šคํฌ๋ฆฐ์ƒท์„ ์ฐ๋Š” ๋™์•ˆ AccessViolationException์ด ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2018๋…„ 03์›” 08์ผ  ยท  4์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: cefsharp/CefSharp

  • ์–ด๋–ค ๋ฒ„์ „์˜ ์ œํ’ˆ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?
    _๋„ˆ๊ฒŸ: 63.0.2_
<packages>
  <package id="cef.redist.x64" version="3.3239.1723" targetFramework="net452" />
  <package id="cef.redist.x86" version="3.3239.1723" targetFramework="net452" />
  <package id="CefSharp.Common" version="63.0.2" targetFramework="net452" />
  <package id="CefSharp.OffScreen" version="63.0.2" targetFramework="net452" />
</packages>
  • x86 ๋˜๋Š” x64 ์•„ํ‚คํ…์ฒ˜๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
    x64 ๋ฐ x86 ๋ชจ๋‘

  • ์–ด๋–ค ์šด์˜ ์ฒด์ œ์—์„œ?
    ์œˆ10

  • WinForms , WPF ๋˜๋Š” OffScreen ์‚ฌ์šฉ ์ค‘์ž…๋‹ˆ๊นŒ?
    ์˜คํ”„์Šคํฌ๋ฆฐ

  • ์–ด๋–ค ๋‹จ๊ณ„์—์„œ ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•ฉ๋‹ˆ๊นŒ?
    _์ผ๋ฐ˜์ ์œผ๋กœ:_
    ์›น์‚ฌ์ดํŠธ๊ฐ€ ๋‹ค์‹œ ๋กœ๋“œ๋œ ํ›„ ๋ธŒ๋ผ์šฐ์ €์˜ ํฌ๊ธฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ์Šคํฌ๋ฆฐ์ƒท ์ฐ๊ธฐ
    _์˜ˆ์‹œ:_
    ์ด ํฌํฌ๋ฅผ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค

  • ์˜ˆ์ƒ ์ถœ๋ ฅ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
    _์˜ˆ์ƒ๋˜๋Š”:_
    ๋ธŒ๋ผ์šฐ์ €์˜ ํฌ๊ธฐ๋ฅผ ์„ค์ •ํ•˜๋ฉด ๋น„ํŠธ๋งต์˜ ํฌ๊ธฐ๊ฐ€ ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค.
    _ํ˜„์žฌ์˜:_
    ๋น„ํŠธ๋งต์˜ ํฌ๊ธฐ๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ ํฌ๊ธฐ์™€ ๋‹ค๋ฅด๋ฏ€๋กœ AccessViolationException์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

  • ์•„๋ž˜์— ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜์‹ญ์‹œ์˜ค.

Exception thrown: 'System.AccessViolationException' in System.Drawing.dll
CefSharp.OffScreen.dll!CefSharp.OffScreen.ChromiumWebBrowser.ScreenshotOrNull(CefSharp.OffScreen.PopupBlending blend) Line 510  
CefSharp.OffScreen.dll!CefSharp.OffScreen.ChromiumWebBrowser.ScreenshotAsync.AnonymousMethod__1(object sender, CefSharp.OnPaintEventArgs e) Line 544
CefSharp.OffScreen.dll!CefSharp.OffScreen.ChromiumWebBrowser.CefSharp.Internals.IRenderWebBrowser.OnPaint(CefSharp.Internals.BitmapInfo bitmapInfo) Line 775    CefSharp.Core.dll!CefSharp::Internals::RenderClientAdapter::OnPaint(scoped_refptr<CefBrowser>* browser, cef_paint_element_type_t type, std::vector<CefRect,std::allocator<CefRect> >& dirtyRects, void* buffer, int width, int height) Line 18
  • ์ด ๋ฌธ์ œ๋Š” http://opensource.spotify.com/cefbuilds/index.html ์˜ CEF ์ƒ˜ํ”Œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋„ ๋ฐœ์ƒํ•ฉ๋‹ˆ๊นŒ?
    ์Šคํฌ๋ฆฐ์ƒท ๋ž˜ํผ ๋ฉ”์„œ๋“œ๊ฐ€ ์ž˜๋ชป๋œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๋ฏ€๋กœ ํ…Œ์ŠคํŠธํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค!
    ์–ด์จŒ๋“  ๋‚ด๊ฐ€ ์ด๊ฒƒ์„ ํ…Œ์ŠคํŠธํ•˜๊ธฐ๋ฅผ ์›ํ•˜์‹ญ๋‹ˆ๊นŒ?
offscreen

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

#2237์˜ ์ผ๋ถ€๋กœ OffScreen ๋ฐ WPF ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ๋ Œ๋”๋ง์ด ์™„๋ฃŒ๋˜๋Š” ๋ฐฉ์‹์ด ๋‹ค์‹œ ์ž‘์„ฑ๋˜์–ด ์ฝ”๋“œ์˜ ์•ฝ๊ฐ„ ์ˆ˜์ •๋œ ๋ฒ„์ „์„ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค( OnPaint ์ด๋ฒคํŠธ๋Š” ์ด์ œ Paint , ์ด์ œ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์™€ ๋” ์ผ๊ด€๋œ ๊ฐ€์ƒ OnPaint ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์นด์šดํ„ฐ๋ฅผ 100 ๋กœ ๋ณ€๊ฒฝํ–ˆ๋Š”๋ฐ ์˜ˆ์™ธ ์—†์ด ์‹คํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ฃผ์š” ์ฐจ์ด์ ์€ ๋ฒ„ํผ๊ฐ€ ํ˜„์žฌ Bitmap ๊ฐ€ ์•„๋‹Œ byte[] ๋กœ ์ €์žฅ๋˜๊ณ  Bitmap ๊ฐ€ ์š”์ฒญ ์‹œ์—๋งŒ ์ƒ์„ฑ๋œ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋˜๊ณ  ์‹ค์ œ๋กœ ํฌ๊ฒŒ ์ฝ”๋“œ๋ฅผ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  4 ๋Œ“๊ธ€

#2237์˜ ์ผ๋ถ€๋กœ OffScreen ๋ฐ WPF ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ๋ Œ๋”๋ง์ด ์™„๋ฃŒ๋˜๋Š” ๋ฐฉ์‹์ด ๋‹ค์‹œ ์ž‘์„ฑ๋˜์–ด ์ฝ”๋“œ์˜ ์•ฝ๊ฐ„ ์ˆ˜์ •๋œ ๋ฒ„์ „์„ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค( OnPaint ์ด๋ฒคํŠธ๋Š” ์ด์ œ Paint , ์ด์ œ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์™€ ๋” ์ผ๊ด€๋œ ๊ฐ€์ƒ OnPaint ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์นด์šดํ„ฐ๋ฅผ 100 ๋กœ ๋ณ€๊ฒฝํ–ˆ๋Š”๋ฐ ์˜ˆ์™ธ ์—†์ด ์‹คํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ฃผ์š” ์ฐจ์ด์ ์€ ๋ฒ„ํผ๊ฐ€ ํ˜„์žฌ Bitmap ๊ฐ€ ์•„๋‹Œ byte[] ๋กœ ์ €์žฅ๋˜๊ณ  Bitmap ๊ฐ€ ์š”์ฒญ ์‹œ์—๋งŒ ์ƒ์„ฑ๋œ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋˜๊ณ  ์‹ค์ œ๋กœ ํฌ๊ฒŒ ์ฝ”๋“œ๋ฅผ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค.

master ๋กœ ์žฌํ˜„ํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์ด๊ฒƒ์„ ๋‹ซ๊ณ  https://github.com/cefsharp/CefSharp#releases -1 ์— ๋‚˜์—ด๋œ CI ๋นŒ๋“œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‹œ๋„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ–์œผ๋กœ ASAP .

https://github.com/cefsharp/CefSharp/issues/2237 ์˜ ์ผ๋ถ€๋กœ ๋” ๋งŽ์€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์—…๋ฐ์ดํŠธ ์•Œ๋ฆผ์„ ๋ฐ›์œผ๋ ค๋ฉด ํ•ด๋‹น ๋ฌธ์ œ๋ฅผ ๊ตฌ๋…ํ•˜์‹ญ์‹œ์˜ค.

๋ฌป๊ฒŒ ๋˜์–ด ์ฃ„์†กํ•˜์ง€๋งŒ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค(์œ„์˜ ๋‹ซํžŒ ๋ณต์ œ๋ณธ ์ฐธ์กฐ). ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ฌด์—‡์„ ํ–ˆ๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฒ„์ „ 65๋ฅผ ๊ธฐ๋‹ค๋ ค์•ผ ํ•ฉ๋‹ˆ๊นŒ?

ํ™•์ธ "65.0.0-pre01"๋กœ ํ…Œ์ŠคํŠธํ–ˆ์œผ๋ฉฐ ์ฝ”๋“œ๋ฅผ ๋ณ€๊ฒฝํ•  ํ•„์š” ์—†์ด ์˜ˆ์™ธ๊ฐ€ ์‚ฌ๋ผ์ง„ ๊ฒƒ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰