我正在尝试在Visual Studio 2015中重命名一个C#命名空间,过了一会儿Visual Studio帮助(?)告诉我有216个无法解决的冲突.
但这是它似乎提供的所有信息.
我怎么能看到这些冲突到底是什么?
预览按钮没有显示任何明显的内容.
我有一个作为launchd代理运行的程序,我有stdout和stderr使用StandardErrorPath
和StandardOutputPath
键发送到日志文件.我非常热衷于将stdout/stderr记录在某个地方,而且看起来像启动它设置这将是明智的事情.
(我的目的是建议一个文件~/Library/Logs/
作为一个好的设置.然后你可以很容易地看到Console.app中的输出.)
我注意到的一点是,launchd似乎永远不会清理这些日志!我希望它可以在每次重启时清除日志,或者每隔几天,或者其他什么东西 - 但似乎没有.几周后,我有一个7MByte的22,000行日志文件,几乎没有一个是相关的.(你不太关心在上次重启之前发生的任何事情,事实上你不太可能关心过去15分钟内没有发生的事情.)
我能做些什么来阻止文件无限增长吗?
我已经使用yasm进行代码汇编,并链接到我的C++程序,但是我无法在汇编语言文件中的符号上设置gdb中的断点.
命令行可能不是非常有启发性,但我们在这里:
"g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -fPIC -std=c++11 -I"$HOME/usr/include" -c -o "bin/gcc-4.7/debug/main.o" "main.cpp"
yasm -g dwarf2 -f elf64 -o bin/gcc-4.7/debug/mandel.o mandel.yasm
"g++" -L"$HOME/usr/lib" -Wl,-R -Wl,"$HOME/usr/lib" -Wl,-rpath-link -Wl,"$HOME/usr/lib" -o "bin/gcc-4.7/debug/mandel" -Wl,--start-group "bin/gcc-4.7/debug/main.o" "bin/gcc-4.7/debug/mandel.o" -Wl,-Bstatic -Wl,-Bdynamic -lboost_system -lboost_thread -Wl,--end-group -g
Run Code Online (Sandbox Code Playgroud)
所有构建都没有发生任何事故,程序运行.但是当我尝试将其加载到gdb中进行调试时,我似乎无法在yasm文件中的任何函数上添加断点.例如,我在那里有一个名为MandelRect的函数.这是gdb显示我在哪里调用它,在main中的某个地方:
(gdb) disassemble 0x404ada,0x404af0
Dump of assembler code from 0x404ada to 0x404af0:
0x0000000000404ada <main()+474>: mov %rax,%rdi
0x0000000000404add <main()+477>: callq 0x409980 <MandelRect>
0x0000000000404ae2 <main()+482>: movq $0x0,-0x18(%rbp)
0x0000000000404aea <main()+490>: jmp 0x404b1c <main()+540>
0x0000000000404aec <main()+492>: mov -0x18(%rbp),%rdx
End of assembler dump.
Run Code Online (Sandbox Code Playgroud)
这是gdb告诉我它的地址是什么:
(gdb) …
Run Code Online (Sandbox Code Playgroud) 我想在WebStorm中禁用代码折叠.可以关闭折叠指示器,但折叠本身仍然有效.我想摆脱整个事情,所以不可能以任何方式激活它.这可能吗?
(没有任何明显的选择,但我希望有一些我错过的东西......)
我正在使用默认的 Firefox Web 开发人员工具。火狐浏览器 20.0、Mac OS X 10.7。
如果我打开开发人员工具的调试器面板(但未聚焦),并刷新页面,焦点将转到调试器面板而不是刷新的页面。我可以将焦点设置为转到刷新的页面吗?
如果我打开 Web 控制台面板,这不会抢走焦点 - 理想情况下,我想让调试器以相同的方式运行。
我的程序使用文档keyup
和keydown
事件,并且页面需要焦点才能使它们工作。每次都必须单击页面,这令人惊讶地烦人(这只是一件小事,但它使每次刷新所需的工作量加倍!)。
我正在尝试使用以下说明来构建一些使用 XAudio2 并在 Windows 7 上运行的代码:
http://msdn.microsoft.com/en-us/library/windows/desktop/ee663275%28v=vs.85%29.aspx
按照建议,我包含 DirectX SDK 中的 XAudio2.h:
#include <%DXSDK_DIR%Include\xaudio2.h>
Run Code Online (Sandbox Code Playgroud)
结果:
fatal error C1083: Cannot open include file: '%DXSDK_DIR%Include\xaudio2.h': No such file or directory
Run Code Online (Sandbox Code Playgroud)
那好吧。我很确定 VC++ 并没有像那样扩展环境变量。所以我#include
用一个直接包含它的替换了它:
#include <C:/Program Files (x86)/Microsoft DirectX SDK (June 2010)/Include/XAudio2.h>
Run Code Online (Sandbox Code Playgroud)
(其他一些说明,也建议使用完整路径,可以在这里找到:http : //blogs.msdn.com/b/chuckw/archive/2012/04/02/xaudio2-and-windows-8-consumer-预览.aspx)
结果:
c:\program files (x86)\microsoft directx sdk (june 2010)\include\xaudio2.h(20): fatal error C1083: Cannot open include file: 'comdecl.h': No such file or directory
Run Code Online (Sandbox Code Playgroud)
果然,该文件包括comdecl.h
使用尖括号,指示 VC++ 查看当前文件夹之外。
我将 DirectX SDK 包含文件夹 ( $(DXSDK_DIR)/include
) 添加到项目 …
我希望cmake在我的Release版本中生成符号.
我知道我可以生成RelWithDebInfo构建,并在那些中获取符号,但我也想在Release版本中使用符号.我从不想要没有符号的构建.
我可以这样做吗?
(这是我在使用github时出现的问题,所以如果任何解决方案都是特定于github的话,我不介意太多.但问题本身并不是特定于github的,并且任何解决方案都不一定是无论是.)
您始终可以使用https克隆公共github存储库.
git clone https://github.com/my-user-name/SDL-mirror/
Run Code Online (Sandbox Code Playgroud)
如果你有一个github知道的SSH密钥,你也可以使用SSH克隆它.
git clone git@github.com:my-user-name/SDL-mirror.git
Run Code Online (Sandbox Code Playgroud)
(我认为使用bitbucket时类似的选项也适用.)
添加子模块时也有这两个选项.
添加子模块时,您通常会添加SSH版本,因此您可以在原位测试更改后直接从子模块提交.
但是人们试图克隆你的回购呢?他们可能没有对github的SSH访问权限.因此,他们将使用https URL克隆您的存储库...然后当git尝试使用SSH URL克隆子模块时,它会松开.
如果您使用git repo进行系统配置,这也可能是一个问题.
理想情况下,如果可能的话,我希望git从SSH URL中提取,如果不是,我希望使用https URL.这应该让每个人都可以开箱即用.有什么方法可以让它做到这一点?
我正在使用 Windows Media Foundation 创建视频文件。我有一些基于使用接收器编写器编码视频教程的代码。
当输入类型为MFVideoFormat_RGB32
,输出类型为MFVideoFormat_WMV3
,并且接收器编写器正在写入 WMV 文件,并且我为接收器编写器提供自上而下的 RGB32 数据时,我得到了我期望的视频。
MFVideoFormat_H264
另一方面,当输出类型为 时- 其他一切都相同 - 位图会颠倒过来。
如何在运行时找出需要哪种位图数据?
这个令人发狂的线程描述了我遇到的问题:由于在关闭时分配了一些东西而导致内存泄漏avformat_new_stream
描述了我遇到的问题:由于调用
这是泄漏的 valgrind 堆栈跟踪:
很明显,问题是当一个AVFormatContext
流的编解码器上下文priv_data
字段因某种原因未被释放时。
我的代码释放了AVFormatContext
with avformat_free_context
. 这调用ff_free_stream
,它调用free_stream
,它释放流的一些编解码器上下文字段本身 - 但不是priv_data
!
与中对应代码进行对比对比avcodec_close
。
线程中建议的问题解决方案:“在调用之前先关闭编解码器av_format_free_context
”。大概这是指调用avcodec_free_context
?- 但我已经在这样做了!大致遵循复用示例中的结构,我有一个由我的代码创建的编码器上下文,用于跟踪未压缩的输入数据。然后还有另一个由 …
我有一些测试来测试 clang 的地址清理器捕获特定错误。(我想确保我对它可以捕获的错误类型的理解是正确的,并且未来的版本会继续捕获我期望它们捕获的错误类型。)这意味着我有几个测试失败了OTHER_FAULT
,这似乎是 clang 运行时报告错误的固定方式。
我已经为这些测试设置了WILL_FAIL
标志TRUE
,但这似乎只是检查成功、无异常失败的返回值。如果进程因异常终止,cmake 仍将其归类为失败。
我还尝试使用PASS_REGULAR_EXPRESSION
来观察发生此错误时打印出的区分消息,但同样,如果测试以异常终止,cmake 似乎将测试归类为失败。
我能做些什么来解决这个问题吗?
(特定于 clang 的答案也是一种选择!-但我怀疑这将是我最后一次需要测试这样的东西,所以如果可能的话,我更愿意知道如何使用 cmake 进行测试)
当我使用默认编译器在Visual Studio 2015中构建我的C#代码时(项目没什么异常),我在输出窗口中得到输出,看起来有点像这样.(实际宽度不具代表性,因为我用相当长的路径替换了XXX
.)
1>XXX(402,13,402,16): error CS1955: Non-invocable member 'Lo
1>g' cannot be used like a method.
1>XXX(424,25,424,28): error CS1955: Non-invocable member 'Lo
1>g' cannot be used like a method.
据推测,编译器正在打印Non-invocable member 'Log' cannot be used like a method
,某些地方正在插入并弹出换行符(在实践中的第120列 - 如上所述,我的示例输出中的列计数不具代表性).
我可以阻止这个吗?如果是这样,怎么样?
我更喜欢在自然位置使用换行符打印消息,因此我可以使用输出窗口的自动换行功能.
c# ×2
c++ ×2
cmake ×2
linux ×2
c ×1
clang ×1
clone ×1
directx ×1
diskspace ×1
dom-events ×1
dwarf ×1
ffmpeg ×1
firefox ×1
folding ×1
gdb ×1
git ×1
github ×1
https ×1
javascript ×1
launchd ×1
logging ×1
macos ×1
refactoring ×1
rename ×1
rgb ×1
ssh ×1
symbols ×1
video ×1
webstorm ×1
windows ×1
windows-7 ×1
word-wrap ×1
xaudio2 ×1
yasm ×1