我完全迷失了如何构建Google的破解版.有一个sln文件,但它取决于一个似乎没有相关sln的库.它似乎使用了一种叫做gyp的东西,我还没弄清楚如何开始工作.我试过了
python gyp ..\breakpad\src\client\windows\breakpad_client.gyp
Run Code Online (Sandbox Code Playgroud)
这只是给出以下错误
Traceback (most recent call last):
File "gyp", line 18, in <module>
sys.exit(gyp.main(sys.argv[1:]))
File "pylib\gyp\__init__.py", line 445, in main
options.circular_check)
File "pylib\gyp\__init__.py", line 84, in Load
depth, generator_input_info, check, circular_check)
File "pylib\gyp\input.py", line 2165, in Load
VerifyNoGYPFileCircularDependencies(targets)
File "pylib\gyp\input.py", line 1429, in VerifyNoGYPFileCircularDependencies
' '.join(bad_files)
gyp.input.CircularException: Some files not reachable, cycle in .gyp file dependency
graph detected involving some or all of:
..\breakpad\src\client\windows\sender\crash_report_sender.gyp
..\breakpad\src\client\windows\h
andler\exception_handler.gyp ..\breakpad\src\client\windows\breakpad_client.gyp
..\breakpad\src\client\windows\unittests\client_tests.gyp
..\breakpad\src\client\windows\crash_generation\crash_generation.gyp
Run Code Online (Sandbox Code Playgroud)
这是我无法理解的.我似乎也找不到任何文件.任何帮助,将不胜感激.
我有一个.NET Windows服务,它调用cdb.exe来分析崩溃转储.我想在需要时使用以下参数自动从http://msdl.microsoft.com下载符号:
-y srv*c:\symbols*http://msdl.microsoft.com/download/symbols
Run Code Online (Sandbox Code Playgroud)
如果我将应用程序作为控制台应用程序运行,它按预期工作,并为每个转储下载所需的符号.
问题是,当我将应用程序作为Windows服务启动时,符号不会被下载,如果我打开symnoisy,在cdb的输出日志中,我有一个条目,表示在http:/处找不到该符号/msdl.microsoft.com
所以,我使用嗅探器检查了它,有趣的是,当作为服务运行时,没有请求微软符号服务器.
谷歌搜索了一下,我发现我不是唯一一个有这个问题的人,似乎问题是当一个应用程序作为Windows服务运行时,它使用winHTTP库来进行http请求,而不是wininet,我认为是问题的根源:http://support.microsoft.com/kb/238425
所以,我不知道为什么,cdb无法使用winHTTP库连接到ms符号服务器,我需要一种强制cdb默认使用wininet的方法.
任何人都知道这个问题的解决方法?
我最近在分析一个callstack时犯了一个错误,因为我没想到应用程序是64位的.我使用WinDbg命令kb来显示传递给方法的callstack和参数.
在64位时,参数不通过堆栈传递,而是通过寄存器(RCX,RDX,R8和R9)传递.似乎WinDbg没有或没有完全实现这一点.部分我想这几乎是不可能的,因为寄存器值可能同时发生了变化.
但是,WinDbg帮助仍然kb列为有效命令User-Mode, x64 Processor.因此我的问题是:
kb64位用户模式进程的显示内容是什么?何时/如何输出有用?
当捕获转储文件并对其进行分析时(例如在WinDbg中),我经常会收到警告:数据可能不准确,或者命令可能无法访问,因为当收集转储文件时,进程位于GC的中间.
在进行内存分析时,我们经常这样做是因为进程中的内存很高而且内存压力很高,我猜这会强制.NET到GC.
如何在GC期间避免转储?有没有办法知道何时可以安全地捕获转储文件?
我正在调试潜在的GDI Handle Leak.感谢@Alois Kraus,有一个执行句柄计数的WinDbg脚本.
从我的调试会话中,特别是对于.NET,我发现通常情况下,32位进程的32位转储和64位进程的64位转储更好.
不幸的是,我收到的2个崩溃转储,脚本不起作用.深入研究它,我发现GdiSharedHandleTable null在那些转储中:
0:000> dt ntdll!_PEB GdiSharedHandleTable @$peb
+0x094 GdiSharedHandleTable : (null)
Run Code Online (Sandbox Code Playgroud)
现在,在他的网站上,阿洛伊斯提到了
重要提示:如果您在64位操作系统上运行,即使调试32位应用程序,也需要连接64位Windbg!
不幸的是,在32位崩溃转储上使用64位WinDbg并没有帮助.结果仍然相同.
现在这是一个理论:
ntdll 是其中之一(它加载了两次,在64位版本和32位版本中)所以我的问题是:我在这里很少有案例需要WOW64崩溃转储吗?对我的理论进行更详细的解释会很棒.如果已经在某本书中有一个很好的解释,那么对这一章的引用就足够了.如果我还没有,我会买的.
在尝试使用!heapWindbg中的扩展来调查转储时,我收到以下错误:
0:000> !heap -s -v -a
SEGMENT HEAP ERROR: failed to initialize the extention
Run Code Online (Sandbox Code Playgroud)
每次使用!heap扩展时都会发生这种情况.
谷歌对此事并不是很有帮助.有没有人知道如何解决这个问题?
我正在学习 TypeScript 教程。
不幸的是,这些软件包已经过时,我收到了有关漏洞的警告。
我遵循了npm check 和 update package if need 的一系列建议,即:
npm audit fixnpm audit fix --forcenpm updatenpm audit说还剩下24个漏洞。
但上述命令都无法修复它们。
npm outdated结果没有输出。
易受攻击的软件包是:
ansi-regex
glob-parent
node-forge
nth-check
postcss
Run Code Online (Sandbox Code Playgroud)
我实际上不知道为什么它们是我项目的一部分。我的 里没有它们package.json。
修复这些漏洞的后续步骤是什么?
以下是我尝试过的。
package.json较新的版本,然后运行npm install. 没有效果。package-lock.json建议删除,然后再次运行。npm install"ansi-regex": "^6.0.1", "glob-parent": "^6.0.2", "node-forge": "^1.3.0", "nth-check": "^2.0.1", "postcss": "^8.4.12"为 devDependency 并运行npm install.npm i npm@latest中的建议运行。dependencies node.js dependency-tree npm-audit npm-vulnerabilities
我必须将一个BigDecimal值(例如2.1200,来自数据库)转换为字符串.当我使用toString()or或toPlainString()时BigDecimal,它只打印值2.12而不是尾随零.
如何在BigDecimal不丢失尾随零的情况下将字符串转换为字符串?
之前我曾经使用windbg进行用户模式调试,但我怀疑我对我的系统做了一些事情,因为我不记得使用例如扩展命令!堆之前有问题.
我可以清楚地看到ntdll是一个加载的模块:
77760000 778e0000 ntdll (pdb symbols) C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x86\sym\wntdll.pdb\FA9C48F9C11D4E0894B8970DECD92C972\wntdll.pdb
0:001> lmvm ntdll
start end module name
77760000 778e0000 ntdll (pdb symbols) C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x86\sym\wntdll.pdb \FA9C48F9C11D4E0894B8970DECD92C972\wntdll.pdb
Loaded symbol image file: C:\Windows\SysWOW64\ntdll.dll
Image path: C:\Windows\SysWOW64\ntdll.dll
Image name: ntdll.dll
Timestamp: Wed Jul 15 13:53:36 2015 (55A69E20)
CheckSum: 00142A8B
ImageSize: 00180000
File version: 6.1.7601.18933
Product version: 6.1.7601.18933
File flags: 0 (Mask 3F)
File OS: 40004 NT Win32
File type: 2.0 Dll
File date: 00000000.00000000
Translations: 0409.04b0
CompanyName: Microsoft Corporation
ProductName: Microsoft® …Run Code Online (Sandbox Code Playgroud) 我有一个在Raspberry Pi 2,Windows 10 IoT上运行的.NET Universal App的转储:
0:000> vertarget
Windows 10 Version 10240 MP (4 procs) Free ARM (NT) Thumb-2
Product: WinNt, suite: SingleUserTS
Built by: 10.0.10240.16384 (th1.150709-1700)
Run Code Online (Sandbox Code Playgroud)
我看到它coreclr像之前使用的Silverlight一样.
0:000> lm vm coreclr
start end module name
6e430000 6e7fd000 coreclr (export symbols) coreclr.dll
Loaded symbol image file: coreclr.dll
...
Timestamp: Thu Jul 16 21:37:39 2015 (55A88693)
...
File version: 4.6.23117.0
Product version: 4.0.23117.0
Run Code Online (Sandbox Code Playgroud)
执行a !analyze -v不会自动下载SOS.
加载我在PC上找到的SOS Silverlight版本表示版本错误:
0:000> .load C:\Program Files\Microsoft Silverlight\5.1.20513.0\sos.dll
0:000> !threads
The version …Run Code Online (Sandbox Code Playgroud)