有没有办法在 boost 库提供的 .ipp 实现文件中放置断点?
使用 Visual Studio,我可以这样做,但 xcode (4.4.1) 不会将 .ipp 文件识别为代码文件。
有没有办法在 boost 库提供的 .ipp 实现文件中放置断点?
使用 Visual Studio,我可以这样做,但 xcode (4.4.1) 不会将 .ipp 文件识别为代码文件。
sudo /Applications/Xcode.app/Contents/MacOS/Xcode /System/Library/CoreServices/CoreTypes.bundle/Contents/Info.plist
使用Cmd+F查找.cpp
并添加附近的.ipp
扩展名
重启
注意:这不是一个可行的解决方案,但我希望有人可以从这里继续。
正如这个问题中提到的,OSX 的文件类型关联存储在文件中,所以我编写了一个简短的 shell 脚本,在给定目录下的所有字符串中plist
搜索字符串:hpp
plists
#!/bin/sh
find $1 -iname "*.plist" -print0 | while read -d $'\0' file
do
if plutil -convert xml1 "$file" -r -o - | grep -q "<string>hpp</string>"
then
echo "$file"
fi
done
正如预期的那样,使用sh find_hpp.sh /Applications/Xcode.app
finds调用上述脚本。Contents/Info.plist
请注意,这个文件不能直接用 Xcode 编辑,因为它在 Xcode 运行时被锁定,但你可以退出 Xcode,通过 将二进制 plist 文件转换为 xml plutil -convert xml1 Info.plist -o Info.xml
,编辑 xml 并用plutil -convert binary1 Info.xml -o Info.plist
.
我只是hpp
在 xml 文件中搜索并添加ipp
为附加文件类型(它出现了两次):
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>hh</string>
<string>hp</string>
<string>hpp</string>
<string>hxx</string>
<string>h++</string>
<string>ipp</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>c-header_Icon</string>
<key>CFBundleTypeName</key>
<string>C++ Header Source</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSIsAppleDefaultForType</key>
<true/>
<key>LSItemContentTypes</key>
<array>
<string>public.c-plus-plus-header</string>
</array>
</dict>
将编辑后的 xml 文件转换回二进制文件后,为了强制启动服务重新读取 plist,我触摸了应用程序包:
touch /Applications/Xcode.app
我注销并重新登录,但是:什么都没有。仍然不是 Xcode 中的语法突出显示,也不.ipp
是 Finder 中文件的文件关联。我什至重新启动系统,将 Xcode 应用程序包移动到我的桌面并返回。依然没有。我希望其他人可以从这里接过来。