[Bug 45916] x64dbg fails to load debuggee, needs ThreadScheduler_ScheduleTask

wine-bugs at winehq.org wine-bugs at winehq.org
Sat May 25 03:58:21 CDT 2019


https://bugs.winehq.org/show_bug.cgi?id=45916

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|x64dbg needs                |x64dbg fails to load
                   |ThreadScheduler_ScheduleTas |debuggee, needs
                   |k                           |ThreadScheduler_ScheduleTas
                   |                            |k

--- Comment #3 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

revisiting, still present.

x64dbg requires Concurrency Runtime scheduler API to asynchronously execute
commands ('DbgCmdExec', '_dbg_dbgcmdexec').

It makes use of asynchronous message blocks, implemented using concurrency API.

The concept is described here: 

https://docs.microsoft.com/en-us/cpp/parallel/concrt/asynchronous-agents-library?view=vs-2019
("Asynchronous Agents Library")

https://docs.microsoft.com/en-us/cpp/parallel/concrt/asynchronous-message-blocks?view=vs-2019
("Asynchronous Message Blocks")

https://github.com/x64dbg/x64dbg/search?q=MsgSend&unscoped_q=MsgSend

https://github.com/x64dbg/x64dbg/blob/58825d4522f06986e09ab17b141204a66e68dd15/src/dbg/msgqueue.h

https://github.com/x64dbg/x64dbg/blob/58825d4522f06986e09ab17b141204a66e68dd15/src/dbg/msgqueue.cpp

BTW there is no need to pollute the WINEPREFIX globally with VC++ 2013 runtime
using 'winetricks'. It's rather harmful, especially if you want to debug bugs
that are in same component(s). x64dbg ships the VC++ 2013 runtime in the app
folder:

--- snip ---
$ pwd
/home/focht/wine-apps/x64dbg/release/x32

$ ls -la *.{dll,exe}
-rw-rw-r--. 1 focht focht  231112 Aug 26  2017 asmjit.dll
-rw-rw-r--. 1 focht focht 1245624 Jul 29  2017 dbghelp.dll
-rw-rw-r--. 1 focht focht   59832 Jul 29  2017 DeviceNameResolver.dll
-rw-rw-r--. 1 focht focht  128440 Jul 29  2017 jansson.dll
-rw-rw-r--. 1 focht focht   50104 Jul 29  2017 ldconvert.dll
-rw-rw-r--. 1 focht focht 1373112 Jul 29  2017 libeay32.dll
-rw-rw-r--. 1 focht focht   93112 Jul 29  2017 lz4.dll
-rw-rw-r--. 1 focht focht 1211536 Jul  5  2018 msdia140.dll
-rw-rw-r--. 1 focht focht  454968 Jul 29  2017 msvcp120.dll
-rw-rw-r--. 1 focht focht  971064 Jul 29  2017 msvcr120.dll
-rw-rw-r--. 1 focht focht 4676296 Aug 26  2017 Qt5Core.dll
-rw-rw-r--. 1 focht focht 5017288 Aug 26  2017 Qt5Gui.dll
-rw-rw-r--. 1 focht focht  860360 Aug 26  2017 Qt5Network.dll
-rw-rw-r--. 1 focht focht 4477640 Aug 26  2017 Qt5Widgets.dll
-rw-rw-r--. 1 focht focht  458952 Jan 28  2018 Scylla.dll
-rw-rw-r--. 1 focht focht 2020280 Jul 29  2017 snowman.dll
-rw-rw-r--. 1 focht focht  341944 Jul 29  2017 ssleay32.dll
-rw-rw-r--. 1 focht focht  130488 Jul 29  2017 symsrv.dll
-rw-rw-r--. 1 focht focht  690424 Nov 18  2018 TitanEngine.dll
-rw-rw-r--. 1 focht focht   16824 Jul 29  2017 x32_bridge.dll
-rw-rw-r--. 1 focht focht   57080 May 19 18:23 x32bridge.dll
-rw-rw-r--. 1 focht focht    9144 Jul 29  2017 x32_dbg.dll
-rw-rw-r--. 1 focht focht 1373944 May 19 18:23 x32dbg.dll
-rwxrwxr-x. 1 focht focht   54008 May 19 18:24 x32dbg.exe
-rw-rw-r--. 1 focht focht 4130552 May 19 18:23 x32gui.dll
-rw-rw-r--. 1 focht focht 1316280 Jul 29  2017 XEDParse.dll
-rw-rw-r--. 1 focht focht 1839032 Jul 29  2017 yara.dll
--- snip ---

Hence just make an app-local registry override or use:

--- snip ---
$ WINEDLLOVERRIDES=msvcr120,msvcp120=n,b wine ./x32dbg.exe
--- snip ---

$ sha1sum snapshot_2019-05-19_18-24.zip 
e29431ac8fb4e9311dc54a1c11582d47d3ff3b24  snapshot_2019-05-19_18-24.zip

$ du -sh snapshot_2019-05-19_18-24.zip 
32M    snapshot_2019-05-19_18-24.zip

$ wine --version
wine-4.9

Regards

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.


More information about the wine-bugs mailing list