我试图在使用模板定义的C ++类成员函数中设置断点。我已经在stackoverflow中寻找解决方案,但无法找到相同的问题。下面是一个显示函数定义的示例代码(来自py-faster-rcnn caffe代码,Dtype定义为float outside)。
template <typename Dtype>
void SoftmaxWithLossLayer<Dtype>::Forward_gpu(
const vector<Blob<Dtype>*>& bottom, const vector<Blob<Dtype>*>& top) {
softmax_layer_->Forward(softmax_bottom_vec_, softmax_top_vec_);
const Dtype* prob_data = prob_.gpu_data();
const Dtype* label = bottom[1]->gpu_data();
昨天,我使用
成功设置了断点br SoftmaxWithLossLayer<float>::Forward_gpu( const vector<Blob<float>*>& , const vector<Blob<float>*>& )
但今天早上,它不起作用!可能是什么问题?如果我使用br filename:linenuber
,它就会起作用
(顺便说一句,我使用附加到运行python的进程的DDD,包括由boost包装的C ++库,但我希望这是无关紧要的。)
答案 0 :(得分:0)
我从未尝试过这个,但您是否考虑过使用nm来确定它在共享库中的定义方式?您可以使用该信息来帮助ddd / gdb始终找到模板方法。