0

有没有办法在 boost 库提供的 .ipp 实现文件中放置断点?

使用 Visual Studio,我可以这样做,但 xcode (4.4.1) 不会将 .ipp 文件识别为代码文件。

4

2 回答 2

1
  1. sudo /Applications/Xcode.app/Contents/MacOS/Xcode /System/Library/CoreServices/CoreTypes.bundle/Contents/Info.plist

  2. 使用Cmd+F查找.cpp并添加附近的.ipp扩展名

  3. 重启

于 2013-03-06T08:42:17.283 回答
1

注意:这不是一个可行的解决方案,但我希望有人可以从这里继续。

正如这个问题中提到的,OSX 的文件类型关联存储在文件中,所以我编写了一个简短的 shell 脚本,在给定目录下的所有字符串中plist搜索字符串:hppplists

#!/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.appfinds调用上述脚本。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 应用程序包移动到我的桌面并返回。依然没有。我希望其他人可以从这里接过来。

于 2012-12-03T10:40:12.143 回答