GVKun编程网logo

在Windows上debuggingUnity3D VSCode(在windows上打开蓝牙)

19

在本文中,您将会了解到关于在Windows上debuggingUnity3DVSCode的新资讯,同时我们还将为您解释在windows上打开蓝牙的相关在本文中,我们将带你探索在Windows上debu

在本文中,您将会了解到关于在Windows上debuggingUnity3D VSCode的新资讯,同时我们还将为您解释在windows上打开蓝牙的相关在本文中,我们将带你探索在Windows上debuggingUnity3D VSCode的奥秘,分析在windows上打开蓝牙的特点,并给出一些关于Debugging Chromium on Windows、Debugging Lua Project created in Cocos Code IDE creates “Waiting for debugger to connect” in Win-7、debugging – 是否有Windowsdebugging器的检查点function?、debugging一个自定义Windows打印处理器?的实用技巧。

本文目录一览:

在Windows上debuggingUnity3D VSCode(在windows上打开蓝牙)

在Windows上debuggingUnity3D VSCode(在windows上打开蓝牙)

Unity3D VSCodedebugging好像已经在OSX上正常工作? 在Unity中debugging(C#)+ Visual Studio代码在OS X上工作?

但不是在Windows上,因为没有单声道支持Windows? https://code.visualstudio.com/Docs/FAQ

有没有人find一种方法让Unity3D VSCodedebugging在Windows上工作?

谢谢。

如何使用SIGSEGV的信号处理程序来debugging程序

彩色的grep?

编写debugging器

Visual Studio 2015远程debugging到Surface Pro 4:DEP4300无法生成应用程序包的根文件夹

警告:GDB:设置控制terminal失败:参数无效

切换JITdebugging器?

如何在Eclipse中使用GDB进行C / C ++debugging?

如何在gdb中search进程的所有内存?

奇怪的运行时错误,似乎微软相关

我如何检测Windows C代码中的GDB?

目前,.NET的调试基于Mono(仅适用于Linux和Mac OS X)。因此,在Windows上进行调试时最好使用Visual Studio社区。

肖恩·麦克布林VS代码团队成员

团结提供了一个扩展,以得到这个工作

http://forum.unity3d.com/threads/vs-code-unity-debugger-extension-preview.369775/

https://marketplace.visualstudio.com/items?itemName=Unity.unity-debug

Debugging Chromium on Windows

Debugging Chromium on Windows

First see get the code for checkout and build instructions.

Getting started

You can use Visual Studio''s built-in debugger or WinDBG to debug Chromium. You don''t need to use the IDE to build in order to use the debugger: Ninja is used to build Chromium and most developers invoke it from a command prompt, and then open the IDE for debugging as necessary. To start debugging an executable from the command line:

devenv /debugexe out\Debug\chrome.exe  <options to Chromium can go here>
 
This assumes you have Visual Studio installed and have devenv.exe on your path. Note that the path to the binary must use backslashes and must include the ".exe" suffix or Visual Studio will open and do nothing.
 
Goma (the internal Google distributed build) defaults to symbol_level = 1 which means source-level debugging will not work. If you want full debugging with goma then you need to explicitly set symbol_level = 2, and is_win_fastlink = true, however this does tend to expose bugs in debuggers, so caveat debugger, and be sure to use the very latest versions of the debuggers.
 

Profiles

It''s a good idea to use a different profile for your debugging. If you are debugging Google Chrome branded builds, or use a Chromium build as your primary browser, the profiles can collide so you can''t run both at once, and your stable browser might see profile versions from the future (Google Chrome and Chromium use different profile directories by default so won''t collide). Use the command-line option:
 
--user-data-dir=c:\tmp\my_debug_profile  (replace the path as necessary)
 
Using the IDE, go to the  Debugging tab of the properties of the chrome project, and set the  Command Arguments.
 

Chrome debug log

Enable Chrome debug logging to a file by passing  --enable-logging --v=1 command-line flags at startup. Debug builds place the  chrome_debug.log file in the  out\Debug directory. Release builds place the file in the top level of the user data Chromium app directory, which is OS-version-dependent. For more information, see  logging and  user data directory details.
 

Symbol server

If you are debugging official Google Chrome release builds, use the symbol server:
 
https://chromium-browser-symsrv.commondatastorage.googleapis.com
 
In Visual Studio, this goes in  Tools > Options under  Debugging > Symbols. You should set up a local cache in a empty directory on your computer.
 
In windbg you can add this to your symbol server search path with the command below, where c:\Symbols is a local cache directory:
 
.sympath+ SRV*c:\Symbols*https://chromium-browser-symsrv.commondatastorage.googleapis.com
 
You can also set the _NT_SYMBOL_PATH environment variable to include both the Microsoft and Google symbol servers - VS and windbg should both respect this environment variable:
 
_NT_SYMBOL_PATH=SRV*C:\symbols*https://msdl.microsoft.com/download/symbols;SRV*C:\symbols*https://chromium-browser-symsrv.commondatastorage.googleapis.com
 
Note that symbol servers will let the debuggers download both the PE files (DLLs and EXEs) and the PDB files.
 
If you set up source indexing (.srcfix in windbg, Tools-> Options-> Debugging-> General-> Enable source server support in Visual Studio) then the correct source files will automatically be downloaded based on information in the downloaded symbols.
 

Multi-process issues

Chromium can be challenging to debug because of its multi-process architecture. When you select Run in the debugger, only the main browser process will be debugged. The code that actually renders web pages (the Renderer) and the plugins will be in separate processes that''s not (yet!) being debugged. The ProcessExplorer tool has a process tree view where you can see how these processes are related. You can also get the process IDs associated with each tab from the Chrome Task Manager (right-click on an empty area of the window title bar to open).

Automatically attach to child processes

There are two Visual Studio extensions that enable the debugger to automatically attach to all Chrome processes, so you can debug all of Chrome at once. Microsoft''s Child Process Debugging Power Tool is a standalone extension for this, and VsChromium is another option that bundles many other additional features. In addition to installing one of these extensions, you must run Visual Studio as Administrator, or it will silently fail to attach to some of Chrome''s child processes.

Single-process mode

One way to debug issues is to run Chromium in single-process mode. This will allow you to see the entire state of the program without extra work (although it will still have many threads). To use single-process mode, add the command-line flag

--single-process

This approach isn''t perfect because some problems won''t manifest themselves in this mode and some features don''t work and worker threads are still spawned into new processes.

Manually attaching to a child process

You can attach to the running child processes with the debugger. Select  Tools > Attach to Process and click the chrome.exe process you want to attach to. Before attaching, make sure you have selected only Native code when attaching to the process This is done by clicking Select... in the Attach to Process window and only checking Native. If you forget this, it may attempt to attach in "WebKit" mode to debug JavaScript, and you''ll get an error message "An operation is not legal in the current state."
 
You can now debug the two processes as if they were one. When you are debugging multiple processes, open the  Debug > Windows > Processes window to switch between them. 
 
 
Sometimes you are debugging something that only happens on startup, and want to see the child process as soon as it starts. Use:
 
--renderer-startup-dialog --no-sandbox
 
You have to disable the sandbox or the dialog box will be prohibited from showing. When the dialog appears, visit Tools > Attach to Process and attach to the process showing the Renderer startup dialog. Now you''re debugging in the renderer and can continue execution by pressing OK in the dialog.
 
Startup dialogs also exist for other child process types:  --gpu-startup-dialog--ppapi-startup-dialog--plugin-startup-dialog (for NPAPI).
 
You can also try  the vs-chromium plug-in to attach to the right processes.

Semi-automatically attaching the debugger to child processes

The following flags cause child processes to wait for 60 seconds in a busy loop for a debugger to attach to the process. Once either condition is true, it continues on; no exception is thrown.
--wait-for-debugger-children[=filter]
The filter, if provided, will fire only if it matches the  --type parameter to the process. Values include  rendererplugin (for NPAPI),  ppapigpu-process, and  utility.
 
When using this option, it may be helpful to limit the number of renderer processes spawned, using:

--renderer-process-limit=1

Image File Execution Options

Using Image File Execution Options (IFEO) will not work because CreateProcess() returns the handle to the debugger process instead of the intended child process. There are also issues with the sandbox.
 
 

Visual Studio hints

Debug visualizers

Chrome''s custom debug visualizers should be added to the pdb files and automatically picked up by Visual Studio. The definitions are in  //tools/win/DebugVisualizers if you need to modify them (the BUILD.gn file there has additional instructions).

Don''t step into trivial functions

The debugger can be configured to automatically not step into functions based on regular expression. Edit default.natstepfilter in the following directory:
  • For Visual Studio 2015: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Packages\Debugger\Visualizers (for all users)
    or 
    %USERPROFILE%\My Documents\Visual Studio 2015\Visualizers (for the current user only)
  • For Visual Studio 2017 Pro: C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\Packages\Debugger\Visualizers (for all users)
    or 
    %USERPROFILE%\My Documents\Visual Studio 2017\Visualizers (for the current user only)
Add regular expressions of functions to not step into. Remember to regex-escape  and XML-escape them, e.g.  &lt; for  < and  \. for a literal dot. Example:
 
  <Function><Name>operator new </Name><Action> NoStepInto </Action></Function>
  <Function><Name> operator delete </Name><Action>NoStepInto </Action></Function>
   <!-- Skip everything in std -->
  <Function><Name>std::.*</Name><Action>NoStepInto </Action></Function>
   <!-- all methods on WebKit OwnPtr and variants, ... WTF::*Ptr<*>::* -->
  <Function><Name> WTF::.*Ptr&lt;.*&gt;::.* </Name><Action>NoStepInto </Action></Function>
 
This file is read at start of a debugging session (F5), so you don''t need to restart Visual Studio after changing it.
More info:  Andy Pennel''s Blog,  microsoft email thread

V8 and Chromium

V8 supports many command-line flags that are useful for debugging. V8 command-line flags can be set via the Chromium command-line flag --js-flags; for instance:

chrome.exe --js-flags="--trace_exception --heap_stats"

Note that some V8 command-line flags exist only in the debug build of V8. For a list of all V8 flags try:

chrome.exe --js-flags="--help"

Graphics debugging

GPU Acceleration of rendering can be more easily debugged with tools. See:
  • Graphics Debugging in Visual Studio 2013
  • Graphical debugging with NVIDIA NSight

Debugging on another machine

Sometimes it''s useful to debug installation and execution on a machine other than your primary build box. To run the installer on said other machine, first build the mini_installer target on your main build machine (e.g., ninja -C out\Debug mini_installer). Next, on the debug machine:
  • Make the build machine''s build volume available on the debug machine either by mounting it locally (e.g., Z:\) or by crafting a UNC path to it (e.g., \\builder\src)
  • Open up a command prompt and change to a local disk
  • Run src\tools\win\copy-installer.bat in the remote checkout by way of the mount (e.g., Z:\PATHTOCHECKOUT\src\...) or UNC path (e.g., \\builder\src\...). This will copy the installer, DLLs, and PDBs into your debug machine''s C:\out or C:\build (depending on if you''re rocking the component=shared_library build or not)
  • Run C:\out\Debug\mini_installer.exe with the flags of your choice to install Chrome. This can take some time, especially on a slow machine. Watch the Task Manager and wait until mini_installer.exe exits before trying to launch Chrome (by way of the shortcut(s) created by the installer)
  • For extra pleasure, add C:\out\Debug to your _NT_SYMBOL_PATH environment variable
Consider reading the documentation at the top of copy-installer.bat to see how you can run it. It tries to be smart and copy the right things, but you may need to be explicit (e.g., "copy-installer.bat out Debug"). It is safe to re-run the script to copy only modified files (after a rebuild, for example).

Find memory leaks

The Windows heap manager has a really useful debug flag, where it can be asked to capture and store a stack trace with every allocation. The tool to scrape these stack traces out of processes is UMDH, which comes with  WinDbg.
 
UMDH is great. It will capture a snapshot of the heap state as many times as you like, and it''ll do it fairly quickly. You then run it again against either a single snapshot, or a pair of snapshots, at which time it''ll symbolize the stack traces and aggregate usage up to unique stack traces.
 
Turning on the user stack trace database for chrome.exe with gflags.exe makes it run unbearably slowly; however, turning on the user stack trace database on for the browser alone is just fine.
 
While it''s possible to turn on the user stack database with the "!gflag" debugging extension, it''s too late to do this by the time the initial debugger breakpoint hits. The only reasonable way to do this is to 
  1. Launch GFlags.exe,
  2. Enable the user stack trace database (per image below),
  3. Launch Chrome under the debugger.
  4. Set a breakpont when chrome.dll loads with "sxe ld chrome.dll".
  5. Step up, to allow Chrome.dll to initialize.
  6. Disable the stack trace database in GFlags.exe.
  7. Continue chrome, optionally detaching the debugger.
 
GFlags.exe settings for user mode stack trace database.
If you then ever suffer a browser memory leak, you can snarf a dump of the process with 
 
umdh -p:<my browser pid> > chrome-browser-leak-umdh-dump.txt
 
which can then typically be "trivially" analyzed to find the culprit.

Miscellaneous

  • Application Verifier is a free tool from Microsoft (available as part of the Windows SDK) that can be used to flush out programming errors. Starting with M68 Application Verifier can be enabled for chrome.exe without needing to disable the sandbox. After adding chrome.exe to the list of applications to be stressed you need to expand the list of Basics checks and disable the Leak checks. You may also need to disable Handles and Locks checks depending on your graphics driver and specific Chrome version, but the eventual goal is to have Chrome run with Handles and Locks checks enabled. When bugs are found Chrome will trigger a breakpoint so running all Chrome processes under a debugger is recommended. Chrome will run much more slowly because Application Verifier puts every allocation on a separate page.
  • You can check the undocumented ''Cuzz'' checkbox in Application Verifier to get the Windows thread scheduler to add some extra randomness in order to help expose race conditions in your code.
  • Putting every allocation on a separate page will dramatically affect performance so you may want to only do this for some applications. If you right-click on the Heaps checkbox and select Properties you can edit things like the size range for what allocations go into PageHeap (the page-per-allocation system) and you can set a RandRate percentage to randomly put allocations in PageHeap.
  • To put a breakpoint on CreateFile(), add this break point:
{,,kernel32.dll}_CreateFileW@28
    • {,,kernel32.dll}specifies the DLL (context operator).
    • _ prefix means extern "C".
    • @28 postfix means _stdcall with the stack pop at the end of the function. i.e. the number of arguments in BYTES.
  • You can use DebugView from SysInternals or sawbuck to view LOG() messages that normally goes to stderr on POSIX.

Debugging Lua Project created in Cocos Code IDE creates “Waiting for debugger to connect” in Win-7

Debugging Lua Project created in Cocos Code IDE creates “Waiting for debugger to connect” in Win-7

总结

以上是小编为你收集整理的Debugging Lua Project created in Cocos Code IDE creates “Waiting for debugger to connect” in Win-7全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

debugging – 是否有Windowsdebugging器的检查点function?

debugging – 是否有Windowsdebugging器的检查点function?

有一个窗口(win32,.net)debugging器可以做一些像gdb检查点?

http://sourceware.org/gdb/current/onlinedocs/gdb/Checkpoint_002fRestart.html

在我的新窗口安装Image.FromStream不以相同的方式工作

什么是控件的“On_Load”等效表单?

当窗体位于主监视器的上方和左方时,光标变为对angular线resize

.Net Windows服务和FileSystemWatcher问题

获取当前在Windows任务栏中可见的应用程序(或窗口)列表

我在Windows上听到的最接近的功能是IntelliTrace 。 另一个文档在这里: http : //msdn.microsoft.com/en-us/library/dd264915%28VS.100%29.aspx

该功能有很多限制 – 没有64位本地代码,脚本或sql CLR支持

debugging一个自定义Windows打印处理器?

debugging一个自定义Windows打印处理器?

使用Windows驱动程序开发工具包样本包(v8.1),我find了一个样本打印处理器实现,我试图用它作为我自己的自定义打印处理器(“GenPrint打印处理器样本”)的起点。 我成功地在Visual Studio 2017社区中构build它(将PlatformToolset更改为“v141”),我显然能够成功安装它(通过创buildregistry项“HKLM: SYstem CurrentControlSet Control Print Environments Windows x64 Print Processors genprint“与项目属性”驱动程序“和值”genprint.dll“,并将新build的DLL复制到%WinDir%/ System32 / spool / prtprocs / x64 /)。 然后,我可以设置testing打印机,并使用打印机属性>高级>打印处理器…select我的“genprint”打印处理器,我甚至可以从Visual Studio中的debugging器附加到假脱机程序spoolsv,并设置断点在EnumPrintProcessorDatatypesW(…)中,当我重新打开我的testing打印机的“打印处理器”对话框时,看到它被击中。 到现在为止还挺好!

当我在其他地方设置断点时,问题就出现了,并将实际作业排队到打印机队列。 在OpenPrintProcessor(…)的开头说。 或PrintDocumentOnPrintProcessor(…),或者,你的名字。 没什么,纳达,齐赫。 看来这些函数根本就不会被调用 ,至less不是我的DLL导出的实现。 我甚至在DLL导出的每个函数的开始处插入事件日志ala Event Tracing for Windows(ETW),但是生成的唯一日志是EnumPrintProcessorDatatypesW(…)的日志。

地球上可能会发生什么? 是否有可能出于某种奇怪的原因,假脱机程序正在使用与我的打印处理器不同的打印处理程序,尽pipe我明确将其与打印队列相关联。 如果是这样,为什么?

[更新:看起来像我看到的行为是“打印驱动程序隔离”; 当我将与队列相关联的驱动程序的隔离模式更改为“无”时,则可以附加到spoolsv进程。 否则,我的打印处理器运行在一个单独的进程中,通过DCOM与spoolsv进行通信,详见: https : //blogs.technet.microsoft.com/askperf/2009/10/08/windows-7-windows-server-2008 -r2-打印驱动程序隔离/ – 我猜系统范围内的默认已经改变为使用打印驱动程序隔离,因为后Windows 7,除非你明确configuration驱动程序为“无”(或它自己configuration办法)]

Windows API将窗口附加到桌面的左侧或右侧

我的笔记本电脑的向下箭头键?

使用Windows 16位API更改目录

Ruby win32api和win32ole有什么区别?

程序员思考过程:确定在使用Windows API的ReadFile时要读取的最大字节数

这个代码是一个工作关键的部分包装类

用于运行其他.exe的win32 API

Google Api来查找search次数

在Windows上运行的Nosql数据库的Erlang API

我将如何find任务栏的高度?

今天的关于在Windows上debuggingUnity3D VSCode在windows上打开蓝牙的分享已经结束,谢谢您的关注,如果想了解更多关于Debugging Chromium on Windows、Debugging Lua Project created in Cocos Code IDE creates “Waiting for debugger to connect” in Win-7、debugging – 是否有Windowsdebugging器的检查点function?、debugging一个自定义Windows打印处理器?的相关知识,请在本站进行查询。

本文标签: